[{"data":1,"prerenderedAt":314},["ShallowReactive",2],{"term-s\u002Fsymmetric-encryption":3,"related-s\u002Fsymmetric-encryption":303},{"id":4,"title":5,"acronym":6,"body":7,"category":285,"description":286,"difficulty":287,"extension":288,"letter":289,"meta":290,"navigation":92,"path":291,"related":292,"seo":297,"sitemap":298,"stem":301,"subcategory":6,"__hash__":302},"terms\u002Fterms\u002Fs\u002Fsymmetric-encryption.md","Symmetric Encryption",null,{"type":8,"value":9,"toc":279},"minimark",[10,15,19,23,26,30,268,272,275],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Symmetric encryption uses the same key to lock and unlock data. Like a house key — whoever has a copy can both lock and unlock the door. Super fast, but the challenge is: how do you share the key securely? That's why asymmetric encryption is used first, then symmetric takes over for speed.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Symmetric encryption uses a single shared key for both encryption and decryption. It's computationally faster than asymmetric encryption, making it suitable for bulk data. The key distribution problem is typically solved by exchanging keys via asymmetric encryption. Common algorithms: AES-256, ChaCha20.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';\n\nconst key = randomBytes(32); \u002F\u002F 256-bit AES key\nconst iv = randomBytes(16);\n\nconst encrypt = (text) => {\n  const cipher = createCipheriv('aes-256-gcm', key, iv);\n  return Buffer.concat([cipher.update(text), cipher.final()]);\n};\n","javascript","",[38,39,40,87,94,127,148,153,178,216,262],"code",{"__ignoreMap":36},[41,42,45,49,53,57,60,63,65,68,71,74,77,81,84],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"s7zQu","import",[41,50,52],{"class":51},"sMK4o"," {",[41,54,56],{"class":55},"sTEyZ"," createCipheriv",[41,58,59],{"class":51},",",[41,61,62],{"class":55}," createDecipheriv",[41,64,59],{"class":51},[41,66,67],{"class":55}," randomBytes",[41,69,70],{"class":51}," }",[41,72,73],{"class":47}," from",[41,75,76],{"class":51}," '",[41,78,80],{"class":79},"sfazB","crypto",[41,82,83],{"class":51},"'",[41,85,86],{"class":51},";\n",[41,88,90],{"class":43,"line":89},2,[41,91,93],{"emptyLinePlaceholder":92},true,"\n",[41,95,97,101,104,107,110,113,117,120,123],{"class":43,"line":96},3,[41,98,100],{"class":99},"spNyl","const",[41,102,103],{"class":55}," key ",[41,105,106],{"class":51},"=",[41,108,67],{"class":109},"s2Zo4",[41,111,112],{"class":55},"(",[41,114,116],{"class":115},"sbssI","32",[41,118,119],{"class":55},")",[41,121,122],{"class":51},";",[41,124,126],{"class":125},"sHwdD"," \u002F\u002F 256-bit AES key\n",[41,128,130,132,135,137,139,141,144,146],{"class":43,"line":129},4,[41,131,100],{"class":99},[41,133,134],{"class":55}," iv ",[41,136,106],{"class":51},[41,138,67],{"class":109},[41,140,112],{"class":55},[41,142,143],{"class":115},"16",[41,145,119],{"class":55},[41,147,86],{"class":51},[41,149,151],{"class":43,"line":150},5,[41,152,93],{"emptyLinePlaceholder":92},[41,154,156,158,161,163,166,170,172,175],{"class":43,"line":155},6,[41,157,100],{"class":99},[41,159,160],{"class":55}," encrypt ",[41,162,106],{"class":51},[41,164,165],{"class":51}," (",[41,167,169],{"class":168},"sHdIc","text",[41,171,119],{"class":51},[41,173,174],{"class":99}," =>",[41,176,177],{"class":51}," {\n",[41,179,181,184,187,190,192,195,197,200,202,204,207,209,212,214],{"class":43,"line":180},7,[41,182,183],{"class":99},"  const",[41,185,186],{"class":55}," cipher",[41,188,189],{"class":51}," =",[41,191,56],{"class":109},[41,193,112],{"class":194},"swJcz",[41,196,83],{"class":51},[41,198,199],{"class":79},"aes-256-gcm",[41,201,83],{"class":51},[41,203,59],{"class":51},[41,205,206],{"class":55}," key",[41,208,59],{"class":51},[41,210,211],{"class":55}," iv",[41,213,119],{"class":194},[41,215,86],{"class":51},[41,217,219,222,225,228,231,234,237,239,242,244,246,248,250,252,254,257,260],{"class":43,"line":218},8,[41,220,221],{"class":47},"  return",[41,223,224],{"class":55}," Buffer",[41,226,227],{"class":51},".",[41,229,230],{"class":109},"concat",[41,232,233],{"class":194},"([",[41,235,236],{"class":55},"cipher",[41,238,227],{"class":51},[41,240,241],{"class":109},"update",[41,243,112],{"class":194},[41,245,169],{"class":55},[41,247,119],{"class":194},[41,249,59],{"class":51},[41,251,186],{"class":55},[41,253,227],{"class":51},[41,255,256],{"class":109},"final",[41,258,259],{"class":194},"()])",[41,261,86],{"class":51},[41,263,265],{"class":43,"line":264},9,[41,266,267],{"class":51},"};\n",[11,269,271],{"id":270},"when-youll-hear-this","When You'll Hear This",[16,273,274],{},"\"AES-256 is the symmetric encryption standard we use for stored data.\" \u002F \"After the TLS handshake, symmetric encryption handles the rest.\"",[276,277,278],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":89,"depth":89,"links":280},[281,282,283,284],{"id":13,"depth":89,"text":14},{"id":21,"depth":89,"text":22},{"id":28,"depth":89,"text":29},{"id":270,"depth":89,"text":271},"security","Symmetric encryption uses the same key to lock and unlock data. Like a house key — whoever has a copy can both lock and unlock the door.","intermediate","md","s",{},"\u002Fterms\u002Fs\u002Fsymmetric-encryption",[293,294,295,296],"Asymmetric Encryption","Encryption","TLS","AES",{"title":5,"description":286},{"changefreq":299,"priority":300},"weekly",0.7,"terms\u002Fs\u002Fsymmetric-encryption","1SjPqHdTRDdRFVJfSiUJuRkwLSsNwYA5VecBeu0ptpM",[304,307,311],{"title":293,"path":305,"acronym":6,"category":285,"difficulty":287,"description":306},"\u002Fterms\u002Fa\u002Fasymmetric-encryption","Asymmetric encryption uses two different keys — one to lock (public key), one to unlock (private key).",{"title":294,"path":308,"acronym":6,"category":285,"difficulty":309,"description":310},"\u002Fterms\u002Fe\u002Fencryption","beginner","Encryption is scrambling your message into gibberish so only someone with the secret decoder ring can read it.",{"title":295,"path":312,"acronym":295,"category":285,"difficulty":287,"description":313},"\u002Fterms\u002Ft\u002Ftls","TLS (Transport Layer Security) is the updated, actually-secure version of SSL. It's the technology that puts the padlock in your browser's address bar.",1776518316922]