[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71CXGWM5PSW7EF260TSKPS1":3,"skill-same:01M71CXGWM5PSW7EF260TSKPS1":86},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":14,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M71CXGWM5PSW7EF260TSKPS1","encryption-e2eencryption-recover",null,"End-to-end encryption (E2EE) ensures that only the communicating parties can read messages, with no intermediary (including the server) able to decrypt them. This skill implements a simplified version","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fe2eencryption\u002Frecover\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"encryption","encryption e2eencryption recover","communicating","read","server","with","can","Bash","version","cybersecurity","signal-protocol","e2e","only","e2ee","signal","end","messages","pr","messaging","cve","2026-11-10 10:12:30",false,"---\nname: encryption-e2eencryption-recover\ndescription: End-to-end encryption (E2EE) ensures that only the communicating parties can read messages, with no intermediary (including the server) able to decrypt them. This skill implements a simplified version\ndomain: cybersecurity\nsubdomain: cryptography\ntags:\n- cryptography\n- encryption\n- e2e\n- messaging\n- signal-protocol\nnist_csf:\n- PR.DS-01\n- PR.DS-02\n- PR.DS-10\nmodel: sonnet\nmaxTurns: 20\ntools: [Read, Bash, Glob, Grep]\ncve:\n- CVE-2021-26855\ncapec: []\n---\n\n# Implementing End-to-End Encryption for Messaging\n\n## Overview\n\nEnd-to-end encryption (E2EE) ensures that only the communicating parties can read messages, with no intermediary (including the server) able to decrypt them. This skill implements a simplified version of the Signal Protocol's Double Ratchet algorithm, using X25519 for key exchange, HKDF for key derivation, and AES-256-GCM for message encryption.\n\n\n## When to Use\n\n- When deploying or configuring implementing end to end encryption for messaging capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Implement X25519 Diffie-Hellman key exchange for session establishment\n- Build the Double Ratchet key management algorithm\n- Encrypt and decrypt messages with per-message keys\n- Implement forward secrecy (compromise of current key does not reveal past messages)\n- Handle out-of-order message delivery\n- Implement key agreement using X3DH (Extended Triple Diffie-Hellman)\n\n## Key Concepts\n\n### Signal Protocol Components\n\n| Component | Purpose | Algorithm |\n|-----------|---------|-----------|\n| X3DH | Initial key agreement | X25519 |\n| Double Ratchet | Ongoing key management | X25519 + HKDF + AES-GCM |\n| Sending Chain | Per-message encryption keys | HMAC-SHA256 chain |\n| Receiving Chain | Per-message decryption keys | HMAC-SHA256 chain |\n| Root Chain | Derives new chain keys on DH ratchet | HKDF |\n\n### Forward Secrecy\n\nEach message uses a unique encryption key derived from a ratcheting chain. After a key is used, it is deleted, ensuring that compromise of the current state does not reveal previously sent\u002Freceived messages.\n\n## Security Considerations\n\n- Delete message keys immediately after decryption\n- Implement message ordering and replay protection\n- Use authenticated encryption (AES-GCM) for all messages\n- Protect identity keys with device-level security\n- Verify identity keys out-of-band (safety numbers)\n\n## Validation Criteria\n\n- [ ] X25519 key exchange produces shared secret\n- [ ] Messages encrypt and decrypt correctly between two parties\n- [ ] Different messages produce different ciphertexts\n- [ ] Forward secrecy: old keys cannot decrypt new messages\n- [ ] Out-of-order messages can be decrypted\n- [ ] Tampered messages are rejected by authentication\n","# Implementing End-to-End Encryption for Messaging\n\n## Overview\n\nEnd-to-end encryption (E2EE) ensures that only the communicating parties can read messages, with no intermediary (including the server) able to decrypt them. This skill implements a simplified version of the Signal Protocol's Double Ratchet algorithm, using X25519 for key exchange, HKDF for key derivation, and AES-256-GCM for message encryption.\n\n\n## When to Use\n\n- When deploying or configuring implementing end to end encryption for messaging capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Implement X25519 Diffie-Hellman key exchange for session establishment\n- Build the Double Ratchet key management algorithm\n- Encrypt and decrypt messages with per-message keys\n- Implement forward secrecy (compromise of current key does not reveal past messages)\n- Handle out-of-order message delivery\n- Implement key agreement using X3DH (Extended Triple Diffie-Hellman)\n\n## Key Concepts\n\n### Signal Protocol Components\n\n| Component | Purpose | Algorithm |\n|-----------|---------|-----------|\n| X3DH | Initial key agreement | X25519 |\n| Double Ratchet | Ongoing key management | X25519 + HKDF + AES-GCM |\n| Sending Chain | Per-message encryption keys | HMAC-SHA256 chain |\n| Receiving Chain | Per-message decryption keys | HMAC-SHA256 chain |\n| Root Chain | Derives new chain keys on DH ratchet | HKDF |\n\n### Forward Secrecy\n\nEach message uses a unique encryption key derived from a ratcheting chain. After a key is used, it is deleted, ensuring that compromise of the current state does not reveal previously sent\u002Freceived messages.\n\n## Security Considerations\n\n- Delete message keys immediately after decryption\n- Implement message ordering and replay protection\n- Use authenticated encryption (AES-GCM) for all messages\n- Protect identity keys with device-level security\n- Verify identity keys out-of-band (safety numbers)\n\n## Validation Criteria\n\n- [ ] X25519 key exchange produces shared secret\n- [ ] Messages encrypt and decrypt correctly between two parties\n- [ ] Different messages produce different ciphertexts\n- [ ] Forward secrecy: old keys cannot decrypt new messages\n- [ ] Out-of-order messages can be decrypted\n- [ ] Tampered messages are rejected by authentication\n",{"cve":44,"name":5,"tags":46,"capec":48,"model":49,"tools":50,"domain":28,"maxTurns":54,"nist_csf":55,"subdomain":47,"description":7},[45],"CVE-2021-26855",[47,19,30,37,29],"cryptography",[],"sonnet",[51,26,52,53],"Read","Glob","Grep",20,[56,57,58],"PR.DS-01","PR.DS-02","PR.DS-10","main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fcrypto\u002Fencryption\u002Fe2eencryption\u002Frecover","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill encryption-e2eencryption-recover",{"tool":72,"command":73},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill encryption-e2eencryption-recover",{"tool":75,"command":76},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill encryption-e2eencryption-recover","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fe2eencryption\u002Frecover\u002FSKILL.md",true,[80],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"index.json","REFERENCE","参考文档",709,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fe2eencryption\u002Frecover\u002Findex.json",[87,112,133,154,176,192],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":39},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,28,111],"services","detect","services wmi persistence detect","wmi","persistence","de","cm","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":39},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[119,94,120,97,121,122,123,28,26,124,125,126,127,128,99,129,130,22,131,132],"exploit","services wmi exec exploit","exec","remote","traffic","analysis","team","across","crackmapexec","native","command","lateral movement","lateral-movement","Impacket",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":39},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[140,141,142,143,144,145,28,26,146,124,147,148,99,22,149,150,151,152,153,49],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":39},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[95,161,162,163,164,165,166,100,167,28,111,168,169,170,171,172,173,174,175,99],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":39},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[183,184,95,185,163,165,186,100,187,167,28,111,124,188,189,190,191,175,99,101],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":39},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[199,95,163,200,186,100,201,202,28,111,203,204,205,206,207,24,99,101,208,209],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","mismatched","headers"]