{"id":10192,"date":"2026-05-22T11:23:30","date_gmt":"2026-05-22T09:23:30","guid":{"rendered":"https:\/\/www.axew3.com\/w3\/?page_id=10192"},"modified":"2026-10-02T00:22:05","modified_gmt":"2026-10-01T22:22:05","slug":"w3mypq","status":"publish","type":"page","link":"https:\/\/www.axew3.com\/w3\/w3mypq\/","title":{"rendered":"w3myPQ"},"content":{"rendered":"<div id=\"wrapw3mypq\">\n<div class=\"wrapw3mypq\">\n\n<div class=\"interface\">\n  <button class=\"w3-active\" id=\"cryptInterface\">Encrypt<\/button>\n  <button id=\"decryptInterface\">Decrypt<\/button>\n  <button id=\"generateInterface\">Get keys<\/button>\n<\/div>\n\n<div id=\"w3mypqCryptoExplain\" class=\"w3mypqExplain\">\n  <div>&#128274; ML-KEM + AES-GCM<\/div>\n  <div id=\"destroySessionHybrid\"><img decoding=\"async\" style=\"margin:0px;width:40px; height:40px;\" alt=\"Destroy session\" src=\"data:image\/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNGRjJCMDAiIHN0cm9rZS13aWR0aD0iMi4yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMCA0djVoLTYiLz48cGF0aCBkPSJNMjAgOWE4IDggMCAwIDAgLTE1LjUgMiIvPjxwYXRoIGQ9Ik00IDIwdi01aDYiLz48cGF0aCBkPSJNNCAxNWE4IDggMCAwIDAgMTUuNSAtMiIvPjwvc3ZnPg==\"><\/div>\n<\/div>\n\n<div id=\"w3mypqWrapGenerateKeys\">\n<div><!-- START GENERATE KEYS ML-KEM HTML --><\/div>\n<div id=\"wrapGenCryptoMLKEMKeys\" class=\"wrapGenCryptoMLKEMKeys\">\n<div><button id=\"w3GenCryptoMLKEMKeys\" class=\"buttonC\">Generate keys<\/button>\n<dialog closedby=\"any\" id=\"w3GenCryptoMLKEMKeysDialog\">\n   <button class=\"modalKeyGenClose-x\" onclick=\"this.closest('dialog').close()\" aria-label=\"Close dialog\">&times;<\/button>\n  <div>Do you want to save your public ML-KEM and ML-DSA keys to your profile?<br>Existing keys will be replaced.<\/div>\n  <div class=\"w3GenCryptoMLKEMKeysInDialog\">\n    <div class=\"w3GenCryptoMLKEMbutt\">\n    <button onclick=\"w3mypqcloseDialog('donotsave')\" autofocus>Only download, do not save\/replace keys on profile<\/button>\n    <button onclick=\"w3mypqcloseDialog('save')\">Also save Public keys to my profile<\/button>\n    <\/div>\n  <\/div>\n<\/dialog>\n<\/div>\n<div>\n<button id=\"btnOpenCinciaKeys\" class=\"buttonC\" style=\"margin-top: 10px;\">Cincia keys vault<\/button>\n<\/div>\n<div id=\"cinciaKeysOverlay\" class=\"cinciaKeysOverlay\">\n\n<div class=\"cinciaKeysWrapper\">\n<!-- Top Layer Header Area for the Close Button -->\n<div class=\"cinciaKeysHeadClose\">\n<button id=\"btnCloseCinciaKeys\" class=\"btnCloseCinciaKeys\" style=\"\">&times;<\/button>\n<\/div>\n<div class=\"cinciaKeysContainer\">\n<!-- App Main Container - Responsive width matching the wrapper -->\n<!-- Tabs Header Navigation -->\n<div class=\"cinciaKeysTabsHeader\">\n<button id=\"overlay-btn-split\" class=\"overlay-btn-split\">Split<\/button>\n<button id=\"overlay-btn-rebuild\" class=\"overlay-btn-rebuild\">Rebuild<\/button>\n<\/div>\n<div id=\"overlay-dynamic-content\" class=\"overlay-dynamic-content\">\n<!-- Dynamic Workspace Content Area -->\n<!-- Content injected here -->\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"save-mlkem-status\"><\/div>\n<\/div>\n<div id=\"wrapGenCryptoKeys\" class=\"wrapGenCryptoKeys\">\n\n          <div style=\"display:none;\" id=\"w3mypq_wrapKeysDownload\">\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPub_MLKEMKey\" download=\"MLKEM_Public_Key.txt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ML-KEM Public key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/a>\n           <\/div>\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPriv_MLKEMKey\" download=\"MLKEM_Private_Key.txt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ML-KEM Private key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/a>\n           <\/div>\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPubPriv_MLKEMKeys\" download=\"MLKEM_Public_and_Private_Key.txt\">ML-KEM Public and Private key<\/a>\n           <\/div>\n           <hr>\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPub_MLDSAKey\" download=\"MLDSA_Public_Key.txt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ML-DSA Public key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/a>\n           <\/div>\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPriv_MLDSAKey\" download=\"MLDSA_Private_Key.txt\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ML-DSA Private key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/a>\n           <\/div>\n           <div class=\"w3keysdown\"><a href=\"\" target=\"_blank\" id=\"w3downloadPubPriv_MLDSAKeys\" download=\"MLDSA_Public_and_Private_Key.txt\">ML-DSA Public and Private key<\/a>\n           <\/div>\n          <\/div>\n<\/div>\n<\/div>\n\n<div class=\"cCenter\" id=\"w3loadKeys\">\n<div><span class=\"cText\">Load ML-KEM key(s)<\/span><\/div>\n<div><input class=\"buttonC\" type=\"file\" id=\"myPubPrivKeyTXT\" name=\"myPubPrivKeyTXT\" accept=\".txt, text\/plain, image\/png, image\/jpeg\"><\/div>\n<\/div>\n\n<div id=\"w3mypqWrapDecrypt\">\n\n<div id=\"wrapDecrypt\">\n\n<div class=\"wrapKeysUploadedInfo\">\n<div style=\"\" id=\"w3wrapPrivKeyInfo\">\n<details><summary id=\"privKeyState\">Private key not loaded<\/summary><div id=\"privKeyInfoMLKEM\"><\/div><\/details>\n<\/div>\n<div class=\"cCenter\"><span class=\"cText\">Load sender ML-DSA Public Key<\/span><br>and check the file's authenticity\n<div><input class=\"buttonC\" type=\"file\" id=\"senderMldsaPubLoad\" name=\"senderMldsaPubLoad\" accept=\".txt, text\/plain, image\/png, image\/jpeg\"><\/div>\n<div><span class=\"mlkem-dsa-PUBNOTloaded\" id=\"pub-mlkem-dsa-state\">Sender Public ML-DSA sign key not loaded<\/span><\/div>\n<\/div>\n<\/div>\n\n<div class=\"cCenter\">\n<div class=\"cText\">Decrypt file<\/div>\n<div id=\"select-display-wrapper\" class=\"select-display-wrapper\">\n<select id=\"hybrid-decrypted-display-mode\">\n<option value=\"drawer\" selected>Display in Drawer (On-RAM)<\/option>\n<option value=\"download\">Download Link Only<\/option>\n<\/select>\n<\/div>\n<input class=\"buttonC\" type=\"file\" id=\"mlkemCryptedFile\" name=\"myCryptedFile\">\n<\/div>\n<\/div>\n\n<div class=\"centerc decrypted\" id=\"w3_wrap_link-decrypt-form\"><\/div>\n<div class=\"centerc decrypted\">\n<div id=\"w3EncryptedLoaded\">\n<h2 class=\"h2EncryptedLoaded\">Encrypted File Loaded<\/h2>\n<div><div>The file is ready to be decrypted<\/div><div><b>load your ML-KEM Private key to proceed<\/b><\/div><\/div>\n<div><input type=\"file\" name=\"wpw3MLKEMPrivateKeyLoad\" id=\"wpw3MLKEMPrivateKeyLoad\" class=\"wpw3MLKEMPrivateKeyLoad\" accept=\".pem,.txt,.key,.priv\"><\/div>\n\n<div id=\"loaderReadyEncrypted\" style=\"display:none;\">\n<div class=\"loader\"><\/div>\n<\/div>\n\n\n<div>or <a href=\"\" target=\"_blank\" id=\"w3downloadFileEncryptedMsg\" style=\"font-weight:900;\" download=\"\">Download encrypted file<\/a><\/div>\n<!--<div>decrypt it using the standalone <a href=\"https:\/\/axew3.com\" target=\"_blank\">BPQ<\/a><\/div>-->\n<\/div>\n<\/div>\n<div class=\"cCenter\" id=\"hybridDecryptResults\" style=\"display:none;\">\n<div>the file was encrypted on<\/div>\n<div id=\"mlkemEncrypionDate\"><\/div>\n<div id=\"decrypted-verified\" class=\"decrypted-verified\"><\/div>\n<\/div>\n<\/div> <!-- #w3mypqWrapDecrypt END -->\n\n<!-- START DECRYPTED RESULTS -->\n<div id=\"w3-drawer\" class=\"w3mypq-drawer\">\n<div class=\"w3mypq-drawer-top\">\n <div><h2>Decrypted In-Memory Data<\/h2><\/div>\n <div><button onclick=\"toggleW3Menu()\" class=\"w3mypq-drawer-topClose\"><b>X<\/b><\/button><\/div>\n<\/div>\n\n <div><button class=\"w3mypq-trigger\" onclick=\"toggleW3Menu()\" title=\"Preview Decrypted\">\n  <svg viewBox=\"0 0 24 24\" width=\"50\" height=\"28\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n    <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"><\/path>\n    <circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle>\n  <\/svg>\n<\/button>\n<\/div>\n\n   <div id=\"preview-wrapper\"><\/div>\n<!-- END <div id=\"w3-drawer\" -->\n<\/div>\n<!--\nSTART ENCRYPT HTML ML-KEM\n-->\n<div id=\"w3mypqWrapEncrypt\">\n<div id=\"wrapEncrypt\" class=\"wrapEncrypt\">\n<div class=\"wrap0-cryptDecryptControls\">\n<div class=\"wrapKeysUploadedInfo\">\n<div style=\"\" id=\"w3wrapPubKeyInfo\">\n<details>\n<summary id=\"pubKeyState\">Public key not loaded<\/summary>\n<div id=\"pubKeyInfoMLKEM\"><\/div>\n<\/details>\n<div class=\"cCenter\">\n<div><span class=\"cText\">Load ML-DSA Private key<\/span><\/div>\n<div>and sign the encrypted file<\/div>\n<div><input class=\"buttonC\" type=\"file\" id=\"senderMldsaPrivLoad\" name=\"senderMldsaPrivLoad\" accept=\".txt, text\/plain, image\/png, image\/jpeg\"><\/div>\n<div><span class=\"mlkem-dsa-NOTloaded\" id=\"priv-mlkem-dsa-state\">Private ML-DSA sign key not loaded<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"w3-search-wrapper\" style=\"\">\n<div class=\"cCenter\"><label id=\"w3-recipients-max\" class=\"cCenter\">Recipients:<\/label><input type=\"text\" id=\"w3-user-search\" placeholder=\"Type name or email...\" autocomplete=\"off\" style=\"width:90%; padding:8px;\"><\/div>\n<div id=\"w3-search-results\" style=\"\"><\/div>\n<div id=\"w3-selected-unames\" style=\"\"><\/div>\n<input type=\"hidden\" id=\"selected-recipients-ids\">\n<\/div>\n<\/div>\n<div class=\"wrap1-cryptDecryptControls\">\n<div class=\"cCenter\">\n<div class=\"cText\">Encrypt file(s)<\/div>\n<div><input class=\"buttonC\" type=\"file\" id=\"myFileToBeCryptedMLKEM\" name=\"myFileToBeCryptedMLKEM\" multiple><\/div>\n<div class=\"cText\">Encrypt folder(s)<\/div>\n<div><input class=\"buttonC\" type=\"file\" id=\"myFolderToBeCryptedMLKEM\" name=\"myFolderToBeCryptedMLKEM\" webkitdirectory><\/div>\n<div>\n<div id=\"w3LoaderEncFiles\" style=\"display:none\">\n<div class=\"loader\" id=\"loader2\"><\/div>\n<\/div>\n<\/div>\n<div class=\"w3mypqDownEncrypted\">\n<a href=\"\" class=\"keysdown likeButt\" target=\"_blank\" id=\"downFileEncMlkem\" style=\"display:none\" download=\"my_mlkem_Crypted_file.txt\">Download the Encrypted file<\/a>\n<\/div>\n<\/div>\n<div class=\"message-control\">\n<div>or type text<\/div>\n<textarea id=\"w3mlkemEncryptTxtInput\" name=\"message\" placeholder=\"...to be encrypted\"><\/textarea>\n<div>\n<input class=\"encrypt-button\" type=\"button\" value=\"Encrypt text\">\n<\/div>\n<\/div>\n<div class=\"ciphertext\">\n<div style=\"display:inline-block;padding-left:15px;\">\n<b id=\"waitEncryption\" class=\"cText\" style=\"display:none\">...please wait<\/b>\n<\/div>\n<div style=\"display:inline-block;padding-left:15px;\">\n<div class=\"loader\" id=\"loader\" style=\"display:none\"><\/div>\n<\/div>\n\n<div style=\"text-align:center\">\n<span class=\"ciphertextSizeExp\"><b>Encrypted data size:<\/b><\/span> <span class=\"ciphertext-value\"><\/span>\n<\/div>\n\n\n\n<a href=\"\" target=\"_blank\" id=\"w3downloadEncryptedMsg\" class=\"cText\" style=\"font-weight:900;display:none;\" download=\"w3mypq_encryptedMsg.txt\">Download encrypted file<\/a>\n\n<\/div>\n<\/div>\n<!--\nEND wrap1-cryptDecryptControls\n-->\n<\/div>\n<!--\nEND ENCRYPT HTML\nEND w3mypqWrapEncrypt\n-->\n<\/div>\n<div id=\"w3-overlay\" class=\"w3mypq-overlay\" onclick=\"toggleW3Menu()\"><\/div>\n\n    <\/div>\n<\/div>\n\n<noscript>\n    <div class=\"w3noscript-overlay\">\n      <div class=\"w3noscript-box\">\n        <h1>JAVASCRIPT REQUIRED<\/h1>\n        <h3>The w3mypq encryption tool <strong>cannot work<\/strong> without JavaScript.<\/h3>\n        <h3>Enable it in your browser settings to continue.<\/h3>\n      <\/div>\n    <\/div>\n<\/noscript>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"w3mypq","meta":{"footnotes":""},"class_list":["post-10192","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/pages\/10192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/comments?post=10192"}],"version-history":[{"count":1,"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/pages\/10192\/revisions"}],"predecessor-version":[{"id":10193,"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/pages\/10192\/revisions\/10193"}],"wp:attachment":[{"href":"https:\/\/www.axew3.com\/w3\/wp-json\/wp\/v2\/media?parent=10192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}