{"id":2480,"date":"2014-07-14T11:00:57","date_gmt":"2014-07-14T15:00:57","guid":{"rendered":"http:\/\/sqlity.net\/en\/?p=2480"},"modified":"2014-11-13T11:57:46","modified_gmt":"2014-11-13T16:57:46","slug":"decrypt-symmetric-key","status":"publish","type":"post","link":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/","title":{"rendered":"How to Crack the Symmetric Keys in the Database Wide Open"},"content":{"rendered":"<div>\n<h3>Introduction<\/h3>\n<p>\nThe <a href=\"http:\/\/sqlity.net\/en\/2449\/sys-key_encryptions\/\"><span class=\"tt\">sys.key_encryptions<\/span> catalog view<\/a> returns information about the mechanisms in use to protect the symmetric keys in the current database. Remember, a <a href=\"http:\/\/sqlity.net\/en\/2441\/create-symmetric-key\/\">symmetric key<\/a> can be protected in several ways, including certificates, asymmetric keys, other symmetric keys and passwords. Each symmetric key can be protected in many ways at the same time.\n<\/p>\n<h3>What does \"Protected\" actually mean?<\/h3>\n<p>\nA symmetric key is just a string of random bits. How many bits is depending on the algorithm. A key for the AES_256 algorithm for example has 256 bits or 32 bytes. Those 32 bytes get stored by SQL Server as a <span class=\"tt\">VARBINARY<\/span> value. However, they are not store in plain text. Instead, they are encrypted. If you specify a new symmetric key to be encrypted with a certificate, the actual 32 byte key is encrypted with that certificates public key and that crypt-value is then stored in the database. Before the symmetric key can be used for anything, SQL Server has to load it into memory and then decrypt it. That is the purpose of the <a href=\"http:\/\/sqlity.net\/en\/2473\/open-symmetric-key\/\"><span class=\"tt\">OPEN SYMMETRIC KEY<\/span> statement<\/a>.\n<\/p>\n<p>\nIf a symmetric key is protected by more than one mechanism, SQL Server has to store an equal amount of encryptions of the key. These encryptions are all stored independent of each other and each one can be used without knowledge of the other ones. The <span class=\"tt\">sys.key_encryptions<\/span> catalog view makes exactly these values visible.\n<\/p>\n<h3>Identifying the Key Protecting the Key<\/h3>\n<p>\nThe <span class=\"tt\">sys.key_encryptions<\/span> catalog view contains the <span class=\"tt\">thumbprint<\/span> column. This column identifies the key or certificate that was used to encrypt and therefore can be used to decrypt the symmetric key. In the case of a certificate or asymmetric key, finding the key is straight forward, as those have a thumbprint too that is available through the <span class=\"tt\">thumbprint<\/span> column in their catalog views, <a href=\"http:\/\/sqlity.net\/en\/2381\/sys-certificates\/\"><span class=\"tt\">sys.certificates<\/span><\/a> and <a href=\"http:\/\/sqlity.net\/en\/2420\/sys-asymmetric_keys\/\"><span class=\"tt\">sys.asymmetric_keys<\/span><\/a>. To get more information about those keys, you can just join on that column.\n<\/p>\n<p>\nThe <a href=\"http:\/\/sqlity.net\/en\/2443\/sys-symmetric_keys\/\"><span class=\"tt\">sys.symmetric_keys<\/span> catalog view<\/a> also contains a thumbprint in the <span class=\"tt\">key_thumbprint<\/span> column. However, that column is only valued for EKM provided keys and therefore is not usable for our purposes. The only other globally unique identifier of a symmetric key is the <span class=\"tt\">key_guid<\/span> and that is actually the value that <span class=\"tt\">sys.key_encryptions.thumbprint<\/span> is referencing for symmetric keys.\n<\/p>\n<p>\nIf you put that all together, you end up with a select statement like this:\n<\/p>\n<div>\n[sql]\nSELECT SK.name, SK.symmetric_key_id, SK.key_length, SK.algorithm_desc,<br \/>\n       KE.crypt_type_desc,<br \/>\n       COALESCE(C.name,AK.name,PSK.name) AS protector_name,<br \/>\n       KE.crypt_property AS encrypted_key<br \/>\n  FROM sys.key_encryptions AS KE<br \/>\n  JOIN sys.symmetric_keys AS SK<br \/>\n    ON KE.key_id = SK.symmetric_key_id<br \/>\n  LEFT JOIN sys.certificates AS C<br \/>\n    ON KE.thumbprint = C.thumbprint<br \/>\n  LEFT JOIN sys.asymmetric_keys AS AK<br \/>\n    ON KE.thumbprint = AK.thumbprint<br \/>\n  LEFT JOIN sys.symmetric_keys AS PSK<br \/>\n    ON KE.thumbprint = CAST(PSK.key_guid AS VARBINARY(50));<br \/>\n[\/sql]\n<\/div>\n<p>\nThe output of this query in my example database is shown below.\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/the_sys.key_encryptions_catalog_view.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/the_sys.key_encryptions_catalog_view.jpg\" alt=\"The sys.key_encryptions Catalog View\" title=\"The sys.key_encryptions Catalog View\" width=\"768\" height=\"468\" class=\"aligncenter size-full wp-image-2481\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/the_sys.key_encryptions_catalog_view.jpg 768w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/the_sys.key_encryptions_catalog_view-300x182.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/the_sys.key_encryptions_catalog_view-150x91.jpg 150w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a>\n<\/p>\n<\/p>\n<h3>Decrypting a Symmetric Key<\/h3>\n<p>\nThe <span class=\"tt\">crypt_property<\/span> column of the <span class=\"tt\">sys.key_encryptions<\/span> catalog view contains the actual encrypted key. Therefore, it should be possible to decrypt a symmetric key using that value, now that we know how to identify the protecting key.\n<\/p>\n<p>\nFor certificates and asymmetric keys this actually works. For example, to get the  decrypted value for a certificate-protected key you can just add <span class=\"tt\">DECRYPTBYCERT(C.certificate_id,KE.crypt_property)<\/span> to the query shown above. However, for password-protected and symmetric-key-protected keys this sadly does not work. The reason is that the values stored in <span class=\"tt\">crypt_property<\/span> in those two cases are not compatible with the values produced by the <span class=\"tt\">ENCRYPTBYPASSWORD<\/span> and <span class=\"tt\">ENCRYPTBYKEY<\/span> functions. Therefore, any decryption attempt with their counterpart functions fails.\n<\/p>\n<p>\nI have not been able to solve that riddle as of yet. However, if you can open the symmetric key, you can easily add another encryption by either a certificate or asymmetric key and get to the decrypted symmetric key value that way.\n<\/p>\n<p>\nThe final symmetric-key-decrypting query looks like this:\n<\/p>\n<div>\n[sql]\nSELECT SK.name, SK.symmetric_key_id, SK.key_length, SK.algorithm_desc,<br \/>\n       KE.crypt_type_desc,<br \/>\n       COALESCE(C.name,AK.name,PSK.name) AS protector_name,<br \/>\n       KE.crypt_property AS encrypted_key,<br \/>\n       COALESCE(DECRYPTBYCERT(C.certificate_id,KE.crypt_property),<br \/>\n                DECRYPTBYASYMKEY(AK.asymmetric_key_id,KE.crypt_property)) AS decrypted_key<br \/>\n  FROM sys.key_encryptions AS KE<br \/>\n  JOIN sys.symmetric_keys AS SK<br \/>\n    ON KE.key_id = SK.symmetric_key_id<br \/>\n  LEFT JOIN sys.certificates AS C<br \/>\n    ON KE.thumbprint = C.thumbprint<br \/>\n  LEFT JOIN sys.asymmetric_keys AS AK<br \/>\n    ON KE.thumbprint = AK.thumbprint<br \/>\n  LEFT JOIN sys.symmetric_keys AS PSK<br \/>\n    ON KE.thumbprint = CAST(PSK.key_guid AS VARBINARY(50));<br \/>\n[\/sql]\n<\/div>\n<p>\nAs you can see below, it actually works:\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg\" alt=\"Decrypted Symmetric Keys\" title=\"Decrypted Symmetric Keys\" width=\"768\" height=\"468\" class=\"aligncenter size-full wp-image-2482\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg 768w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys-300x182.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys-150x91.jpg 150w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a>\n<\/p>\n<p>\nFor all four <span class=\"tt\">crypt_property<\/span> entries, the symmetric key decrypts to the same 32-byte value.\n<\/p>\n<h3>Summary<\/h3>\n<p>\nThe <span class=\"tt\">crypt_property<\/span> column of the <span class=\"tt\">sys.key_encryptions<\/span> catalog view contains the encrypted key bits. After identifying the key they are encrypted with, you can decrypt any symmetric key by using built in T-SQL functions.\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? In some circumstances this can actually be done. Find out how to do this now.<\/p>\n<p> <a href=\"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":2482,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[32,118,5,34,119,14],"tags":[273,38,15,140,141],"class_list":["post-2480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography","category-dmvs-cvs","category-general","category-security","category-security-dmvs-cvs","category-sql-server-internals","tag-cryptography","tag-security-2","tag-sql-server","tag-symmetric-key","tag-symmetric-key-encryption"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net<\/title>\n<meta name=\"description\" content=\"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net\" \/>\n<meta property=\"og:description\" content=\"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/\" \/>\n<meta property=\"og:site_name\" content=\"sqlity.net\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/sqlity.net\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-14T15:00:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-13T16:57:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"768\" \/>\n\t<meta property=\"og:image:height\" content=\"468\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sebastian Meine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sqlity\" \/>\n<meta name=\"twitter:site\" content=\"@sqlity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Meine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/\"},\"author\":{\"name\":\"Sebastian Meine\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"headline\":\"How to Crack the Symmetric Keys in the Database Wide Open\",\"datePublished\":\"2014-07-14T15:00:57+00:00\",\"dateModified\":\"2014-11-13T16:57:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/\"},\"wordCount\":910,\"commentCount\":3,\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/decrypted_symmetric_keys.jpg\",\"keywords\":[\"Cryptography\",\"security\",\"SQL Server\",\"symmetric key\",\"symmetric key encryption\"],\"articleSection\":[\"Cryptography\",\"DMVs &amp; CVs\",\"General\",\"Security\",\"Security\",\"SQL Server Internals\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/\",\"name\":\"How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/decrypted_symmetric_keys.jpg\",\"datePublished\":\"2014-07-14T15:00:57+00:00\",\"dateModified\":\"2014-11-13T16:57:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"description\":\"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/decrypted_symmetric_keys.jpg\",\"contentUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/decrypted_symmetric_keys.jpg\",\"width\":768,\"height\":468,\"caption\":\"Decrypted Symmetric Keys\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2480\\\/decrypt-symmetric-key\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Crack the Symmetric Keys in the Database Wide Open\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\",\"name\":\"sqlity.net\",\"description\":\"Quality for SQL\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sqlity.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\",\"name\":\"Sebastian Meine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"caption\":\"Sebastian Meine\"},\"sameAs\":[\"http:\\\/\\\/sqlity.net\",\"https:\\\/\\\/x.com\\\/sqlity\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net","description":"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/","og_locale":"en_US","og_type":"article","og_title":"How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net","og_description":"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...","og_url":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/","og_site_name":"sqlity.net","article_publisher":"https:\/\/www.facebook.com\/sqlity.net","article_published_time":"2014-07-14T15:00:57+00:00","article_modified_time":"2014-11-13T16:57:46+00:00","og_image":[{"width":768,"height":468,"url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","type":"image\/jpeg"}],"author":"Sebastian Meine","twitter_card":"summary_large_image","twitter_creator":"@sqlity","twitter_site":"@sqlity","twitter_misc":{"Written by":"Sebastian Meine","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#article","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/"},"author":{"name":"Sebastian Meine","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"headline":"How to Crack the Symmetric Keys in the Database Wide Open","datePublished":"2014-07-14T15:00:57+00:00","dateModified":"2014-11-13T16:57:46+00:00","mainEntityOfPage":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/"},"wordCount":910,"commentCount":3,"image":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","keywords":["Cryptography","security","SQL Server","symmetric key","symmetric key encryption"],"articleSection":["Cryptography","DMVs &amp; CVs","General","Security","Security","SQL Server Internals"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/","url":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/","name":"How to Crack the Symmetric Keys in the Database Wide Open - sqlity.net","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#primaryimage"},"image":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","datePublished":"2014-07-14T15:00:57+00:00","dateModified":"2014-11-13T16:57:46+00:00","author":{"@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"description":"Did you always want to get to the root of symmetric key encryption in SQL Server and actually decrypt a protected symmetric key? Read on to find out how...","breadcrumb":{"@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#primaryimage","url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","contentUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","width":768,"height":468,"caption":"Decrypted Symmetric Keys"},{"@type":"BreadcrumbList","@id":"https:\/\/sqlity.net\/en\/2480\/decrypt-symmetric-key\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sqlity.net\/en\/"},{"@type":"ListItem","position":2,"name":"How to Crack the Symmetric Keys in the Database Wide Open"}]},{"@type":"WebSite","@id":"https:\/\/sqlity.net\/en\/#website","url":"https:\/\/sqlity.net\/en\/","name":"sqlity.net","description":"Quality for SQL","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sqlity.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c","name":"Sebastian Meine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","caption":"Sebastian Meine"},"sameAs":["http:\/\/sqlity.net","https:\/\/x.com\/sqlity"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/07\/decrypted_symmetric_keys.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2wXuw-E0","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/comments?post=2480"}],"version-history":[{"count":0,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2480\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media\/2482"}],"wp:attachment":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media?parent=2480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/categories?post=2480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/tags?post=2480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}