diff --git a/docs/index.html b/docs/index.html index a9f289c..1a85340 100644 --- a/docs/index.html +++ b/docs/index.html @@ -9,7 +9,7 @@ simple-vue-app - + @@ -19,7 +19,7 @@ it to continue.
- + \ No newline at end of file diff --git a/docs/js/app.34d44d90.js b/docs/js/app.0cdb41dd.js similarity index 93% rename from docs/js/app.34d44d90.js rename to docs/js/app.0cdb41dd.js index 92dee97..ce70089 100644 --- a/docs/js/app.34d44d90.js +++ b/docs/js/app.0cdb41dd.js @@ -1,2 +1,2 @@ -(function(t){function e(e){for(var r,i,n=e[0],c=e[1],l=e[2],p=0,d=[];p0)return!1;var s=i(t,a);return s===r};t.exports={generateProof:n,verifyProof:c}},"7a1a":function(t,e,a){},"97b6":function(t,e,a){},9868:function(t,e,a){"use strict";a.r(e),function(t){a.d(e,"generateKeyPair",(function(){return p})),a.d(e,"encrypt",(function(){return d})),a.d(e,"decrypt",(function(){return f})),a.d(e,"hash",(function(){return m})),a.d(e,"sign",(function(){return v})),a.d(e,"verify",(function(){return h}));a("6b54");var r=a("58a4"),s=a("6f78"),o=a("c8f6"),i=o.blake2b,n=a("0db8"),c=a("aea7");function l(e){return s.encode(t.from(e))}function u(t){return s.decode(t)}function p(){var e=r.sign.keyPair(),a=t.from(e.publicKey),s=t.from(e.secretKey);return{publicKey:l(a),secretKey:s.toString("hex")}}function d(e,a){var s=r.box.keyPair(),o=u(a),i=r.randomBytes(r.box.nonceLength),c=r.box(t.from(e),i,n.convertPublicKey(o),s.secretKey);return{ciphertext:t.from(c).toString("hex"),ephemPubKey:t.from(s.publicKey).toString("hex"),nonce:t.from(i).toString("hex"),version:"x25519-xsalsa20-poly1305"}}function f(e,a){var s=n.convertSecretKey(t.from(e,"hex")),o=t.from(a.nonce,"hex"),i=t.from(a.ciphertext,"hex"),c=t.from(a.ephemPubKey,"hex"),l=r.box.open(i,o,c,s);return l?r.util.encodeUTF8(l):l}function m(e){return t.from(i(e,null,32)).toString("hex")}function v(e,a){return t.from(r.sign.detached(t.from(e),t.from(a,"hex"))).toString("hex")}function h(e,a,r){return a=t.from(a,"hex"),r=u(r),c.verify(e,a,r)}r.util=a("427a")}.call(this,a("b639").Buffer)},a50f:function(t,e,a){"use strict";var r=a("7a1a"),s=a.n(r);s.a},acdc:function(t,e,a){},b0a0:function(t,e,a){"use strict";var r=a("07bb"),s=a.n(r);s.a},bcc5:function(t,e,a){},c14e:function(t,e,a){},c4cf:function(t,e,a){"use strict";var r=a("28df"),s=a.n(r);s.a},c66d:function(t,e,a){},d3db:function(t,e,a){"use strict";var r=a("acdc"),s=a.n(r);s.a},dbb5:function(t,e,a){},f597:function(t,e,a){"use strict";var r=a("63f7"),s=a.n(r);s.a},f5ae:function(t,e,a){"use strict";var r=a("1425"),s=a.n(r);s.a}}); -//# sourceMappingURL=app.34d44d90.js.map \ No newline at end of file +(function(t){function e(e){for(var r,i,n=e[0],c=e[1],l=e[2],p=0,d=[];p=0)return!1;var s=i(t,a);return s===r};t.exports={generateProof:n,verifyProof:c}},"7a1a":function(t,e,a){},"97b6":function(t,e,a){},9868:function(t,e,a){"use strict";a.r(e),function(t){a.d(e,"generateKeyPair",(function(){return p})),a.d(e,"encrypt",(function(){return d})),a.d(e,"decrypt",(function(){return f})),a.d(e,"hash",(function(){return m})),a.d(e,"sign",(function(){return v})),a.d(e,"verify",(function(){return h}));a("6b54");var r=a("58a4"),s=a("6f78"),o=a("c8f6"),i=o.blake2b,n=a("0db8"),c=a("aea7");function l(e){return s.encode(t.from(e))}function u(t){return s.decode(t)}function p(){var e=r.sign.keyPair(),a=t.from(e.publicKey),s=t.from(e.secretKey);return{publicKey:l(a),secretKey:s.toString("hex")}}function d(e,a){var s=r.box.keyPair(),o=u(a),i=r.randomBytes(r.box.nonceLength),c=r.box(t.from(e),i,n.convertPublicKey(o),s.secretKey);return{ciphertext:t.from(c).toString("hex"),ephemPubKey:t.from(s.publicKey).toString("hex"),nonce:t.from(i).toString("hex"),version:"x25519-xsalsa20-poly1305"}}function f(e,a){var s=n.convertSecretKey(t.from(e,"hex")),o=t.from(a.nonce,"hex"),i=t.from(a.ciphertext,"hex"),c=t.from(a.ephemPubKey,"hex"),l=r.box.open(i,o,c,s);return l?r.util.encodeUTF8(l):l}function m(e){return t.from(i(e,null,32)).toString("hex")}function v(e,a){return t.from(r.sign.detached(t.from(e),t.from(a,"hex"))).toString("hex")}function h(e,a,r){return a=t.from(a,"hex"),r=u(r),c.verify(e,a,r)}r.util=a("427a")}.call(this,a("b639").Buffer)},a50f:function(t,e,a){"use strict";var r=a("7a1a"),s=a.n(r);s.a},acdc:function(t,e,a){},b0a0:function(t,e,a){"use strict";var r=a("07bb"),s=a.n(r);s.a},bcc5:function(t,e,a){},c14e:function(t,e,a){},c4cf:function(t,e,a){"use strict";var r=a("28df"),s=a.n(r);s.a},c66d:function(t,e,a){},d3db:function(t,e,a){"use strict";var r=a("acdc"),s=a.n(r);s.a},dbb5:function(t,e,a){},f597:function(t,e,a){"use strict";var r=a("63f7"),s=a.n(r);s.a},f5ae:function(t,e,a){"use strict";var r=a("1425"),s=a.n(r);s.a}}); +//# sourceMappingURL=app.0cdb41dd.js.map \ No newline at end of file diff --git a/docs/js/app.34d44d90.js.map b/docs/js/app.0cdb41dd.js.map similarity index 93% rename from docs/js/app.34d44d90.js.map rename to docs/js/app.0cdb41dd.js.map index 6bb351c..9363c4b 100644 --- a/docs/js/app.34d44d90.js.map +++ b/docs/js/app.0cdb41dd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/zkp.vue?d71e","webpack:///./src/App.vue?5231","webpack:///./src/components/Display.vue?f73b","webpack:///./src/views/Crypto.vue?1d50","webpack:///./src/views/Customers.vue?f8f7","webpack:///./src/crypto-lib/symmetric.js","webpack:///./src/App.vue?f1e9","webpack:///./src/App.vue","webpack:///./src/views/Customers.vue?a837","webpack:///./src/components/Display.vue?c398","webpack:///src/components/Display.vue","webpack:///./src/components/Display.vue?63a2","webpack:///./src/components/Display.vue","webpack:///src/views/Customers.vue","webpack:///./src/views/Customers.vue?666a","webpack:///./src/views/Customers.vue","webpack:///./src/views/CustomerDetails.vue?5886","webpack:///src/views/CustomerDetails.vue","webpack:///./src/views/CustomerDetails.vue?556b","webpack:///./src/views/CustomerDetails.vue","webpack:///./src/views/Crypto.vue?2ecb","webpack:///./src/components/Hash.vue?3629","webpack:///src/components/Hash.vue","webpack:///./src/components/Hash.vue?36dd","webpack:///./src/components/Hash.vue","webpack:///./src/components/Asymmetric.vue?ab52","webpack:///src/components/Asymmetric.vue","webpack:///./src/components/Asymmetric.vue?13ba","webpack:///./src/components/Asymmetric.vue","webpack:///./src/components/Symmetric.vue?ca7c","webpack:///src/components/Symmetric.vue","webpack:///./src/components/Symmetric.vue?45fe","webpack:///./src/components/Symmetric.vue","webpack:///./src/components/Introduction.vue?0e0f","webpack:///src/components/Introduction.vue","webpack:///./src/components/Introduction.vue?8836","webpack:///./src/components/Introduction.vue","webpack:///./src/components/zkp.vue?a0c0","webpack:///src/components/zkp.vue","webpack:///./src/components/zkp.vue?c24f","webpack:///./src/components/zkp.vue","webpack:///src/views/Crypto.vue","webpack:///./src/views/Crypto.vue?c0e4","webpack:///./src/views/Crypto.vue","webpack:///./src/router.js","webpack:///./src/main.js","webpack:///./src/crypto-lib/zkp.js","webpack:///./src/crypto-lib/asymmetric.js","webpack:///./src/components/Symmetric.vue?6e7f","webpack:///./src/App.vue?8732","webpack:///./src/components/Introduction.vue?8f3b","webpack:///./src/components/Asymmetric.vue?f82a","webpack:///./src/components/Hash.vue?4f1f","webpack:///./src/views/CustomerDetails.vue?a83e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","aesjs","require","shajs","blake2b","CTR","ModeOfOperation","ctr","blakeHash","input","Buffer","from","sha256hash","update","digest","sha256hashStr","utils","hex","fromBytes","encryptData","password","message","binaryData","utf8","toBytes","hashedPasswordBytes","aesCtr","encryptedBytes","encrypt","decryptData","encrypted","aesCTR","decryptedBytes","decrypt","_vm","this","_h","$createElement","_c","_self","attrs","_m","staticRenderFns","staticClass","_v","staticStyle","script","component","_l","customer","id","on","$event","setSelectedCustomer","_s","email","phone","goToDetailsPage","selectedCustomer","props","String","customerDetails","city","state","country","organization","jobProfile","additionalInfo","goToMainPage","_e","directives","rawName","expression","domProps","gotosubpage","target","composing","plaintext","hashtext","generatekp","publickey","privatekey","recipientPublicKey","operation","cipherText","recipientSecretKey","decryptPlaintext","senderPrivateKey","dsOperation","signedMessage","senderPublicKey","components","created","methods","keys","publicKey","secretKey","op","res","asymmetric","JSON","stringify","alert","sign","verify","secretkey","ref","ciphertext","calculateHash","computed","ckeditor","setAttribute","document","head","appendChild","actualAge","ageToProve","proof","zkp","generateProof","verifyProof","Hash","Asymmetric","Symmetric","Introduction","ZKP","active","Vue","use","Router","router","routes","path","redirect","Customers","CustomerDetails","Crypto","config","productionTip","BootstrapVue","render","h","App","$mount","asymm","getIteratedHash","number","ageToProof","Error","parseInt","randomString","generateKeyPair","challange","provingKit","indexOf","temp_proof","nacl","bs58check","ed2curve","signer","encodeBase58Check","encode","decodeBase58Check","str","decode","keyPair","publicBuffer","secretBuffer","toString","msg","ephemeralKeyPair","box","pubKeyUInt8Array","nonce","randomBytes","nonceLength","encryptedMessage","convertPublicKey","ephemPubKey","version","encryptedData","receiverSecretKeyUint8Array","convertSecretKey","decrypted","open","util","encodeUTF8","hash","privateKey","detached","signature"],"mappings":"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","file":"js/app.34d44d90.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/crypto/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"","\n/**\n * \n * npmjs.com/package/aes-js // symmetric key crypto\n * import { blake2b } from 'blakejs' // hash\n * import nacl from 'tweetnacl' // public key crypto\n // \n Keys:\n - 128 bits \n - 192 bits \n - 256 bits\n\n\n common modes of operation\n - CBC (recommended)\n - CFB \n - CTR\n - ECB\n - OFB\n */\n\n\nconst aesjs = require('aes-js')\nconst shajs = require('sha.js')\nconst { blake2b } = require('blakejs')\n\nconst CTR = aesjs.ModeOfOperation.ctr\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @rtype (input: String) => hash: String\n * @param {String|Buffer} input - Data to hash\n * @return {Buffer} Hash\n */\nfunction blakeHash (input) {\n return Buffer.from(blake2b(input, null, 32)) // 256 bits\n }\n\n/**\n * Calculate SHA256 hash of `input`\n * @rtype (input: String) => hash: String\n * @param {String} input - Data to hash\n * @return {String} Hash\n */\nfunction sha256hash (input) {\n return shajs('sha256').update(input).digest()\n }\n \nfunction sha256hashStr(input){\n return aesjs.utils.hex.fromBytes(sha256hash(input));\n}\n\n/**\n * Encrypt given data using `password`\n * @rtype (password: String, binaryData: Buffer) => Uint8Array\n * @param {String} password - Password to encrypt with\n * @param {String} message - Data to encrypt\n * @return {String} Encrypted data\n */\nfunction encryptData (password, message) {\n const binaryData = aesjs.utils.utf8.toBytes(message)\n const hashedPasswordBytes = sha256hash(password)\n const aesCtr = new CTR(hashedPasswordBytes)\n const encryptedBytes = aesCtr.encrypt(binaryData)\n return aesjs.utils.hex.fromBytes(encryptedBytes)\n }\n\n/**\n * Decrypt given data using `password`\n * @rtype (password: String, encrypted: String) => Uint8Array\n * @param {String} password - Password to decrypt with\n * @param {String} encrypted - Data to decrypt\n * @return {String} Decrypted data\n */\nfunction decryptData (password, encrypted) {\n const encryptedBytes = aesjs.utils.hex.toBytes(encrypted);\n const hashedPasswordBytes = sha256hash(password)\n const aesCTR = new CTR(hashedPasswordBytes)\n const decryptedBytes = aesCTR.decrypt(encryptedBytes)\n return aesjs.utils.utf8.fromBytes(decryptedBytes);\n }\n\n\nmodule.exports = {\n sha256hashStr,\n encryptData,\n decryptData,\n blakeHash\n}\n\n/*\n\nconst message = \"Text may be any length you wish, no padding is required.\"\nconst secretKey = \"PassWord1@\"\nconst encryptedText = encryptData(secretKey, message)\nconst hash = sha256hashStr(message)\nconsole.log(`Plain text = ${message}`);\nconsole.log(`Secret Key = ${secretKey}`);\nconsole.log('--------------------------------------------------------')\nconsole.log(`HASH = ${hash}`)\nconsole.log(`Encrypted text = ${encryptedText}`);\nconst actuallMessage = decryptData(secretKey, encryptedText)\nconsole.log(`Plain text = ${actuallMessage}`)\n\n*/\n// https://github.com/aeternity/aepp-sdk-js/blob/f2088c405ff6071f6b809c279231a3dff40e6ffb/es/utils/crypto.js#L35\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_vm._m(0),_c('router-view')],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-8 centeralign logo leftAlign\"},[_c('h2',[_vm._v(\"Crypto Playground\")]),_c('h6',{staticStyle:{\"color\":\"grey\",\"font-style\":\"italic\"}},[_vm._v(\"A simple tool to learn basic concepts of cryptography!\")]),_c('hr',{staticStyle:{\"opacity\":\"1.5\"}})])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5ee02aa4&scoped=true&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ee02aa4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"col-md-8 centeralign\"},[_c('hr'),_vm._l((_vm.customerlist),function(customer){return _c('div',{key:customer.id,staticClass:\"card centeralign addmargin\",staticStyle:{\"width\":\"18rem\"}},[_c('div',{staticClass:\"card-body\",on:{\"click\":function($event){return _vm.setSelectedCustomer(customer.name)}}},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(customer.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(_vm._s(customer.email))]),_c('p',{staticClass:\"card-text\"},[_vm._v(_vm._s(customer.phone))]),_c('a',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.goToDetailsPage(customer.id)}}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\"Click for more details\")])])])])})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-3 centeralign\"},[_c('b-alert',{attrs:{\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.selectedCustomer)+\" Selected\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Display.vue?vue&type=template&id=74e6c3a0&scoped=true&\"\nimport script from \"./Display.vue?vue&type=script&lang=js&\"\nexport * from \"./Display.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74e6c3a0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Customers.vue?vue&type=template&id=215619d4&scoped=true&\"\nimport script from \"./Customers.vue?vue&type=script&lang=js&\"\nexport * from \"./Customers.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"215619d4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[(_vm.customerDetails.id)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_vm._v(\"\\n Customer Details\\n \")]),_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.customerDetails.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Name : \"+_vm._s(_vm.customerDetails.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Email : \"+_vm._s(_vm.customerDetails.email))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Phone : \"+_vm._s(_vm.customerDetails.phone))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"City : \"+_vm._s(_vm.customerDetails.city))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"State : \"+_vm._s(_vm.customerDetails.state))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Country : \"+_vm._s(_vm.customerDetails.country))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Organization : \"+_vm._s(_vm.customerDetails.organization))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Job Profile : \"+_vm._s(_vm.customerDetails.jobProfile))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Additional Info : \"+_vm._s(_vm.customerDetails.additionalInfo))]),_c('a',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.goToMainPage()}}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\"Go Back\")])])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomerDetails.vue?vue&type=template&id=e366e0ca&scoped=true&\"\nimport script from \"./CustomerDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomerDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e366e0ca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"col-md-8 centeralign\"},[_c('b-card',{staticStyle:{\"padding\":\"20px\"},attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"content-class\":\"mt-3\"}},[_c('b-tab',{attrs:{\"title\":\"Introduction\",\"active\":\"\"}},[_c('Introduction')],1),_c('b-tab',{attrs:{\"title\":\"Hashing\"}},[_c('Hash')],1),_c('b-tab',{attrs:{\"title\":\"Symmetric\"}},[_c('Symmetric')],1),_c('b-tab',{attrs:{\"title\":\"Asymmetric\"}},[_c('Asymmetric')],1),_c('b-tab',{attrs:{\"title\":\"Zero Knowledge Proof\"}},[_c('ZKP')],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-8\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Data:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"change\":function($event){return _vm.gotosubpage()},\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Hash:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hashtext),expression:\"hashtext\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.hashtext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.hashtext=$event.target.value}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Hash.vue?vue&type=template&id=414fd3f2&scoped=true&\"\nimport script from \"./Hash.vue?vue&type=script&lang=js&\"\nexport * from \"./Hash.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"414fd3f2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asymmetric\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"vertical\":\"\",\"nav-wrapper-class\":\"w-30\"}},[_c('b-tab',{attrs:{\"title\":\"Key Pair\",\"active\":\"\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.generatekp()}}},[_vm._v(\"Generate Keypair\")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('table',{staticClass:\"table table-bordered\"},[_c('tr',[_c('th',[_vm._v(\"Public Key\")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.publickey),expression:\"publickey\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.publickey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.publickey=$event.target.value}}})])]),_c('tr',[_c('th',[_vm._v(\"Private Key\")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.privatekey),expression:\"privatekey\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.privatekey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.privatekey=$event.target.value}}})])])])])])])])],1),_c('b-tab',{attrs:{\"title\":\"Encryption\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Recipient's Public Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recipientPublicKey),expression:\"recipientPublicKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.recipientPublicKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recipientPublicKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('encrypt')}}},[_vm._v(\"Encrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cipherText),expression:\"cipherText\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.cipherText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cipherText=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Decryption\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cipherText),expression:\"cipherText\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.cipherText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cipherText=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Recipient's Private Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recipientSecretKey),expression:\"recipientSecretKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.recipientSecretKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recipientSecretKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('decrypt')}}},[_vm._v(\"Decrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.decryptPlaintext),expression:\"decryptPlaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.decryptPlaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.decryptPlaintext=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Sign\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Sender's Private Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.senderPrivateKey),expression:\"senderPrivateKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.senderPrivateKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderPrivateKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.dsOperation('sign')}}},[_vm._v(\"Sign\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Signed Message:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.signedMessage),expression:\"signedMessage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.signedMessage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.signedMessage=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Verify\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Signed Message:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.signedMessage),expression:\"signedMessage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.signedMessage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.signedMessage=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Sender's Public Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.senderPublicKey),expression:\"senderPublicKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.senderPublicKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderPublicKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('button',{staticClass:\"btn btn-primary floatLeft\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.dsOperation('verify')}}},[_vm._v(\"Verify\")])])])])])])],1)],1)],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Asymmetric.vue?vue&type=template&id=72d04f84&scoped=true&\"\nimport script from \"./Asymmetric.vue?vue&type=script&lang=js&\"\nexport * from \"./Asymmetric.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72d04f84\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Secret Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.secretkey),expression:\"secretkey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.secretkey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.secretkey=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{ref:\"encrypt\",staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('encrypt')}}},[_vm._v(\"Encrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ciphertext),expression:\"ciphertext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"9\",\"cols\":\"50\"},domProps:{\"value\":(_vm.ciphertext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ciphertext=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{ref:\"decrypt\",staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('decrypt')}}},[_vm._v(\"Decrypt\")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Symmetric.vue?vue&type=template&id=dfa08e9a&scoped=true&\"\nimport script from \"./Symmetric.vue?vue&type=script&lang=js&\"\nexport * from \"./Symmetric.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dfa08e9a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"blog\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Vishwas1/crypto/blob/master/docs/README.md\",\"target\":\"_blank\"}},[_vm._v(\"Basic concept of cryptography\")]),_c('ul',[_c('li',[_vm._v(\"Hashing\")]),_c('li',[_vm._v(\"Symmetric Key Cryptography\")]),_c('li',[_vm._v(\"Asymmetric Key Cryptography\")]),_c('li',[_vm._v(\"Digital Signature\")]),_c('li',[_vm._v(\"Zero Knowledge Proof (of age)\")])])]),_c('li',[_vm._v(\"\\n Uses following libraries\\n \"),_c('ul',[_c('li',[_vm._v(\"\\n Hashing\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/blakejs\",\"target\":\"_blank\"}},[_vm._v(\"Blakejs\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/sha.js\",\"target\":\"_blank\"}},[_vm._v(\"SHA js\")])])])]),_c('li',[_vm._v(\"\\n Symmetric Key Cryptography\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/aes-js\",\"target\":\"_blank\"}},[_vm._v(\"Aes-js\")]),_vm._v(\" with CTR mode\\n \")])])]),_c('li',[_vm._v(\"\\n Asymmetric Key Cryptography\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/tweetnacl\",\"target\":\"_blank\"}},[_vm._v(\"TweetNacl\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/ed2curve\",\"target\":\"_blank\"}},[_vm._v(\"Ed2Curve\")])])])])])]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Vishwas1/crypto\",\"target\":\"_blank\"}},[_vm._v(\"Source Code\")])])])])]),_c('div',{staticClass:\"col-md-6\"},[_c('p'),_c('h5',[_vm._v(\"Encourage me by giving this repo a \"),_c('b',[_vm._v(\"star\")]),_vm._v(\"! :)\")]),_c('p'),_c('div',{staticClass:\"github-card\",attrs:{\"data-github\":\"vishwas1/crypto\",\"data-width\":\"400\",\"data-height\":\"\",\"data-theme\":\"default\"}})])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Introduction.vue?vue&type=template&id=00ee59b9&scoped=true&\"\nimport script from \"./Introduction.vue?vue&type=script&lang=js&\"\nexport * from \"./Introduction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00ee59b9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asymmetric\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"vertical\":\"\",\"nav-wrapper-class\":\"w-30\"}},[_c('b-tab',{attrs:{\"title\":\"Introduction\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('h4',[_vm._v(\"Zero Knowledge Proof of Age\")]),_c('hr'),_c('p',[_vm._v(\"\\n In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x. The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information. (Source: \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Zero-knowledge_proof\"}},[_vm._v(\"Wikipedia\")]),_vm._v(\")\\n \")]),_c('p',[_vm._v(\"\\n In this demo I (the holder) want to proof to someone (the verifier) that his age is above certain number (say 18+). To do that\\n I will ask my issuer to issue me a certificate (which will contain the challenge and the proof) - the zero knowledge proof - so that I can produce that to the verifier.\\n The verifier then can verify the the proof submitted by my without having to know my real age.\\n \")]),_c('hr'),_c('p',[_vm._v(\"\\n We used the concept of \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Hash_chain\"}},[_vm._v(\"hash chaining\")]),_vm._v(\" for implementation. The implementation is inspired from \"),_c('a',{attrs:{\"href\":\"https://www.stratumn.com/thinking/zero-knowledge-proof-of-age-using-hash-chains/\",\"target\":\"_blank\"}},[_vm._v(\"this\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://labs.imaginea.com/zero-knowledge-proof-of-age/\",\"target\":\"_blank\"}},[_vm._v(\"this\")]),_vm._v(\" blog posts.\\n \")])])])])])],1),_c('b-tab',{attrs:{\"title\":\"Generate Proof\"}},[_c('b-card-text',[_c('div',{staticClass:\"row note\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('p',[_vm._v(\"\\n Here, the user(or the holder) will ask trusted issuer to generate the proving kit, which contains \"),_c('b',[_vm._v(\"proof\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"challenge\")]),_vm._v(\" by providing his actual age and the age to prove. Notice the proof (or claim) does not reveals any of his information except the fact that he is above certain age.\\n \"),_c('br'),_c('i',[_vm._v(\"\\n proof = HASH^(1 + actualAge)(randomeed); \"),_c('br'),_vm._v(\"\\n challenge = HASH^(1 + actualAge - ageToProve)(random-seed);\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-4\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Actual age:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.actualAge),expression:\"actualAge\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.actualAge)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.actualAge=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Age to prove:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ageToProve),expression:\"ageToProve\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.ageToProve)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ageToProve=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('generateProof')}}},[_vm._v(\"Generate Proof\")])])]),_c('form',{staticClass:\"col-md-8\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Proving Kit:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proof),expression:\"proof\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.proof)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.proof=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Verify Proof\"}},[_c('b-card-text',[_c('div',{staticClass:\"row note\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('p',[_vm._v(\"\\n Once receieved the proving kit, the verifier can verify the claim. \\n \"),_c('br'),_c('i',[_vm._v(\"\\n 1. verification = hash^(ageToProve)(challenge) \"),_c('br'),_vm._v(\"\\n 2. Check if the verification == proof;\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Proving Kit:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proof),expression:\"proof\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.proof)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.proof=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Age to prove:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ageToProve),expression:\"ageToProve\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.ageToProve)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ageToProve=$event.target.value}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('button',{staticClass:\"btn btn-primary floatLeft\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('verifyProof')}}},[_vm._v(\"Verify Proof\")])])])])])])],1)],1)],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./zkp.vue?vue&type=template&id=02515e26&scoped=true&\"\nimport script from \"./zkp.vue?vue&type=script&lang=js&\"\nexport * from \"./zkp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02515e26\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crypto.vue?vue&type=template&id=08f60a92&scoped=true&\"\nimport script from \"./Crypto.vue?vue&type=script&lang=js&\"\nexport * from \"./Crypto.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08f60a92\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Customers from './views/Customers.vue'\nimport CustomerDetails from './views/CustomerDetails.vue'\nimport Crypto from './views/Crypto.vue'\n\nVue.use(Router)\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n redirect: '/crypto'\n },\n {\n path: '/customers',\n name: 'customers',\n component: Customers\n },\n {\n path: '/customerdetails/:id',\n name: 'customerdetails',\n component: CustomerDetails\n },\n {\n path: '/crypto',\n name: 'crypto',\n component: Crypto \n }\n ]\n})\nexport default router\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport BootstrapVue from 'bootstrap-vue'\nimport 'bootstrap/dist/css/bootstrap.css'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\nVue.config.productionTip = false\nVue.use(BootstrapVue);\n\nnew Vue({\n router,\n render: h => h(App)\n}).$mount('#app')\n","// Zero knowledge proof of age\n// Using concept of hash chaining\n// Ref: https://www.stratumn.com/thinking/zero-knowledge-proof-of-age-using-hash-chains/\n\nconst { sha256hashStr } = require('./symmetric')\nconst asymm = require('./asymmetric') \n\n\nconst getIteratedHash = (number, data) => {\n if(number <= 0) return data\n return getIteratedHash(--number, sha256hashStr(data))\n}\n\nconst generateProof = (actualAge, ageToProof) => {\n if(!actualAge || !ageToProof) throw new Error(`Invalid actual age = ${actualAge} or age to proof = ${ageToProof}`)\n actualAge = parseInt(actualAge);\n ageToProof = parseInt(ageToProof);\n const randomString = \"random_\" + asymm.generateKeyPair().publicKey;\n return {\n proof: getIteratedHash(1+ actualAge, randomString),\n challange: getIteratedHash(1+ actualAge - ageToProof, randomString),\n }\n}\n\nconst verifyProof = (ageToProof, provingKit) => {\n const { challange, proof } = provingKit;\n if(!challange || !proof) throw new Error('Invalid proving kit');\n if(challange.indexOf('random_') > 0) return false\n const temp_proof = getIteratedHash(ageToProof, challange)\n if(temp_proof === proof) return true\n return false\n}\n\nmodule.exports = {\n generateProof,\n verifyProof\n}","// Ref: https://github.com/aeternity/aepp-sdk-js/blob/f2088c405ff6071f6b809c279231a3dff40e6ffb/es/utils/crypto.js\n\nconst nacl = require('tweetnacl')\nconst bs58check = require('bs58check')\nconst { blake2b } = require('blakejs')\nconst ed2curve = require('ed2curve')\nconst signer = require('nacl-signature')\nnacl.util = require('tweetnacl-util')\n\n\nfunction encodeBase58Check(input) {\n return bs58check.encode(Buffer.from(input))\n}\n\nfunction decodeBase58Check(str) {\n return bs58check.decode(str)\n}\n\nexport function generateKeyPair() {\n const keyPair = nacl.sign.keyPair()\n const publicBuffer = Buffer.from(keyPair.publicKey)\n const secretBuffer = Buffer.from(keyPair.secretKey)\n return {\n publicKey: encodeBase58Check(publicBuffer),\n secretKey: secretBuffer.toString('hex')\n }\n}\n\nexport function encrypt(msg, publicKey) {\n const ephemeralKeyPair = nacl.box.keyPair()\n const pubKeyUInt8Array = decodeBase58Check(publicKey)\n const nonce = nacl.randomBytes(nacl.box.nonceLength)\n\n const encryptedMessage = nacl.box(\n Buffer.from(msg),\n nonce,\n ed2curve.convertPublicKey(pubKeyUInt8Array),\n ephemeralKeyPair.secretKey\n )\n\n return {\n ciphertext: Buffer.from(encryptedMessage).toString('hex'),\n ephemPubKey: Buffer.from(ephemeralKeyPair.publicKey).toString('hex'),\n nonce: Buffer.from(nonce).toString('hex'),\n version: 'x25519-xsalsa20-poly1305'\n }\n}\n\nexport function decrypt(secretKey, encryptedData) {\n const receiverSecretKeyUint8Array = ed2curve.convertSecretKey(Buffer.from(secretKey, 'hex'))\n const nonce = Buffer.from(encryptedData.nonce, 'hex')\n const ciphertext = Buffer.from(encryptedData.ciphertext, 'hex')\n const ephemPubKey = Buffer.from(encryptedData.ephemPubKey, 'hex')\n const decrypted = nacl.box.open(\n ciphertext,\n nonce,\n ephemPubKey,\n receiverSecretKeyUint8Array\n )\n return decrypted ? nacl.util.encodeUTF8(decrypted) : decrypted\n}\nexport function hash(input) {\n return Buffer.from(blake2b(input, null, 32)).toString('hex') // 256 bits\n}\nexport function sign(data, privateKey) {\n return Buffer.from(nacl.sign.detached(Buffer.from(data), Buffer.from(privateKey, 'hex'))).toString('hex')\n}\nexport function verify(message, signature, publicKey) {\n signature = Buffer.from(signature, 'hex')\n publicKey = decodeBase58Check(publicKey)\n return signer.verify(message, signature, publicKey)\n}\n\n\n\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/zkp.vue?d71e","webpack:///./src/App.vue?5231","webpack:///./src/components/Display.vue?f73b","webpack:///./src/views/Crypto.vue?1d50","webpack:///./src/views/Customers.vue?f8f7","webpack:///./src/crypto-lib/symmetric.js","webpack:///./src/App.vue?f1e9","webpack:///./src/App.vue","webpack:///./src/views/Customers.vue?a837","webpack:///./src/components/Display.vue?c398","webpack:///src/components/Display.vue","webpack:///./src/components/Display.vue?63a2","webpack:///./src/components/Display.vue","webpack:///src/views/Customers.vue","webpack:///./src/views/Customers.vue?666a","webpack:///./src/views/Customers.vue","webpack:///./src/views/CustomerDetails.vue?5886","webpack:///src/views/CustomerDetails.vue","webpack:///./src/views/CustomerDetails.vue?556b","webpack:///./src/views/CustomerDetails.vue","webpack:///./src/views/Crypto.vue?2ecb","webpack:///./src/components/Hash.vue?3629","webpack:///src/components/Hash.vue","webpack:///./src/components/Hash.vue?36dd","webpack:///./src/components/Hash.vue","webpack:///./src/components/Asymmetric.vue?ab52","webpack:///src/components/Asymmetric.vue","webpack:///./src/components/Asymmetric.vue?13ba","webpack:///./src/components/Asymmetric.vue","webpack:///./src/components/Symmetric.vue?ca7c","webpack:///src/components/Symmetric.vue","webpack:///./src/components/Symmetric.vue?45fe","webpack:///./src/components/Symmetric.vue","webpack:///./src/components/Introduction.vue?0e0f","webpack:///src/components/Introduction.vue","webpack:///./src/components/Introduction.vue?8836","webpack:///./src/components/Introduction.vue","webpack:///./src/components/zkp.vue?a0c0","webpack:///src/components/zkp.vue","webpack:///./src/components/zkp.vue?c24f","webpack:///./src/components/zkp.vue","webpack:///src/views/Crypto.vue","webpack:///./src/views/Crypto.vue?c0e4","webpack:///./src/views/Crypto.vue","webpack:///./src/router.js","webpack:///./src/main.js","webpack:///./src/crypto-lib/zkp.js","webpack:///./src/crypto-lib/asymmetric.js","webpack:///./src/components/Symmetric.vue?6e7f","webpack:///./src/App.vue?8732","webpack:///./src/components/Introduction.vue?8f3b","webpack:///./src/components/Asymmetric.vue?f82a","webpack:///./src/components/Hash.vue?4f1f","webpack:///./src/views/CustomerDetails.vue?a83e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","aesjs","require","shajs","blake2b","CTR","ModeOfOperation","ctr","blakeHash","input","Buffer","from","sha256hash","update","digest","sha256hashStr","utils","hex","fromBytes","encryptData","password","message","binaryData","utf8","toBytes","hashedPasswordBytes","aesCtr","encryptedBytes","encrypt","decryptData","encrypted","aesCTR","decryptedBytes","decrypt","_vm","this","_h","$createElement","_c","_self","attrs","_m","staticRenderFns","staticClass","_v","staticStyle","script","component","_l","customer","id","on","$event","setSelectedCustomer","_s","email","phone","goToDetailsPage","selectedCustomer","props","String","customerDetails","city","state","country","organization","jobProfile","additionalInfo","goToMainPage","_e","directives","rawName","expression","domProps","gotosubpage","target","composing","plaintext","hashtext","generatekp","publickey","privatekey","recipientPublicKey","operation","cipherText","recipientSecretKey","decryptPlaintext","senderPrivateKey","dsOperation","signedMessage","senderPublicKey","components","created","methods","keys","publicKey","secretKey","op","res","asymmetric","JSON","stringify","alert","sign","verify","secretkey","ref","ciphertext","calculateHash","computed","ckeditor","setAttribute","document","head","appendChild","actualAge","ageToProve","proof","zkp","generateProof","verifyProof","Hash","Asymmetric","Symmetric","Introduction","ZKP","active","Vue","use","Router","router","routes","path","redirect","Customers","CustomerDetails","Crypto","config","productionTip","BootstrapVue","render","h","App","$mount","asymm","getIteratedHash","number","ageToProof","Error","parseInt","randomString","generateKeyPair","challange","provingKit","indexOf","temp_proof","nacl","bs58check","ed2curve","signer","encodeBase58Check","encode","decodeBase58Check","str","decode","keyPair","publicBuffer","secretBuffer","toString","msg","ephemeralKeyPair","box","pubKeyUInt8Array","nonce","randomBytes","nonceLength","encryptedMessage","convertPublicKey","ephemPubKey","version","encryptedData","receiverSecretKeyUint8Array","convertSecretKey","decrypted","open","util","encodeUTF8","hash","privateKey","detached","signature"],"mappings":"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","file":"js/app.0cdb41dd.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/crypto/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"","\n/**\n * \n * npmjs.com/package/aes-js // symmetric key crypto\n * import { blake2b } from 'blakejs' // hash\n * import nacl from 'tweetnacl' // public key crypto\n // \n Keys:\n - 128 bits \n - 192 bits \n - 256 bits\n\n\n common modes of operation\n - CBC (recommended)\n - CFB \n - CTR\n - ECB\n - OFB\n */\n\n\nconst aesjs = require('aes-js')\nconst shajs = require('sha.js')\nconst { blake2b } = require('blakejs')\n\nconst CTR = aesjs.ModeOfOperation.ctr\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @rtype (input: String) => hash: String\n * @param {String|Buffer} input - Data to hash\n * @return {Buffer} Hash\n */\nfunction blakeHash (input) {\n return Buffer.from(blake2b(input, null, 32)) // 256 bits\n }\n\n/**\n * Calculate SHA256 hash of `input`\n * @rtype (input: String) => hash: String\n * @param {String} input - Data to hash\n * @return {String} Hash\n */\nfunction sha256hash (input) {\n return shajs('sha256').update(input).digest()\n }\n \nfunction sha256hashStr(input){\n return aesjs.utils.hex.fromBytes(sha256hash(input));\n}\n\n/**\n * Encrypt given data using `password`\n * @rtype (password: String, binaryData: Buffer) => Uint8Array\n * @param {String} password - Password to encrypt with\n * @param {String} message - Data to encrypt\n * @return {String} Encrypted data\n */\nfunction encryptData (password, message) {\n const binaryData = aesjs.utils.utf8.toBytes(message)\n const hashedPasswordBytes = sha256hash(password)\n const aesCtr = new CTR(hashedPasswordBytes)\n const encryptedBytes = aesCtr.encrypt(binaryData)\n return aesjs.utils.hex.fromBytes(encryptedBytes)\n }\n\n/**\n * Decrypt given data using `password`\n * @rtype (password: String, encrypted: String) => Uint8Array\n * @param {String} password - Password to decrypt with\n * @param {String} encrypted - Data to decrypt\n * @return {String} Decrypted data\n */\nfunction decryptData (password, encrypted) {\n const encryptedBytes = aesjs.utils.hex.toBytes(encrypted);\n const hashedPasswordBytes = sha256hash(password)\n const aesCTR = new CTR(hashedPasswordBytes)\n const decryptedBytes = aesCTR.decrypt(encryptedBytes)\n return aesjs.utils.utf8.fromBytes(decryptedBytes);\n }\n\n\nmodule.exports = {\n sha256hashStr,\n encryptData,\n decryptData,\n blakeHash\n}\n\n/*\n\nconst message = \"Text may be any length you wish, no padding is required.\"\nconst secretKey = \"PassWord1@\"\nconst encryptedText = encryptData(secretKey, message)\nconst hash = sha256hashStr(message)\nconsole.log(`Plain text = ${message}`);\nconsole.log(`Secret Key = ${secretKey}`);\nconsole.log('--------------------------------------------------------')\nconsole.log(`HASH = ${hash}`)\nconsole.log(`Encrypted text = ${encryptedText}`);\nconst actuallMessage = decryptData(secretKey, encryptedText)\nconsole.log(`Plain text = ${actuallMessage}`)\n\n*/\n// https://github.com/aeternity/aepp-sdk-js/blob/f2088c405ff6071f6b809c279231a3dff40e6ffb/es/utils/crypto.js#L35\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_vm._m(0),_c('router-view')],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-8 centeralign logo leftAlign\"},[_c('h2',[_vm._v(\"Crypto Playground\")]),_c('h6',{staticStyle:{\"color\":\"grey\",\"font-style\":\"italic\"}},[_vm._v(\"A simple tool to learn basic concepts of cryptography!\")]),_c('hr',{staticStyle:{\"opacity\":\"1.5\"}})])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5ee02aa4&scoped=true&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5ee02aa4&scoped=true&lang=css&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ee02aa4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"col-md-8 centeralign\"},[_c('hr'),_vm._l((_vm.customerlist),function(customer){return _c('div',{key:customer.id,staticClass:\"card centeralign addmargin\",staticStyle:{\"width\":\"18rem\"}},[_c('div',{staticClass:\"card-body\",on:{\"click\":function($event){return _vm.setSelectedCustomer(customer.name)}}},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(customer.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(_vm._s(customer.email))]),_c('p',{staticClass:\"card-text\"},[_vm._v(_vm._s(customer.phone))]),_c('a',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.goToDetailsPage(customer.id)}}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\"Click for more details\")])])])])})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-md-3 centeralign\"},[_c('b-alert',{attrs:{\"show\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.selectedCustomer)+\" Selected\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Display.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Display.vue?vue&type=template&id=74e6c3a0&scoped=true&\"\nimport script from \"./Display.vue?vue&type=script&lang=js&\"\nexport * from \"./Display.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Display.vue?vue&type=style&index=0&id=74e6c3a0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74e6c3a0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Customers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Customers.vue?vue&type=template&id=215619d4&scoped=true&\"\nimport script from \"./Customers.vue?vue&type=script&lang=js&\"\nexport * from \"./Customers.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Customers.vue?vue&type=style&index=0&id=215619d4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"215619d4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[(_vm.customerDetails.id)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_vm._v(\"\\n Customer Details\\n \")]),_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.customerDetails.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Name : \"+_vm._s(_vm.customerDetails.name))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Email : \"+_vm._s(_vm.customerDetails.email))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Phone : \"+_vm._s(_vm.customerDetails.phone))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"City : \"+_vm._s(_vm.customerDetails.city))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"State : \"+_vm._s(_vm.customerDetails.state))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Country : \"+_vm._s(_vm.customerDetails.country))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Organization : \"+_vm._s(_vm.customerDetails.organization))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Job Profile : \"+_vm._s(_vm.customerDetails.jobProfile))]),_c('p',{staticClass:\"card-text\"},[_vm._v(\"Additional Info : \"+_vm._s(_vm.customerDetails.additionalInfo))]),_c('a',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.goToMainPage()}}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\"Go Back\")])])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomerDetails.vue?vue&type=template&id=e366e0ca&scoped=true&\"\nimport script from \"./CustomerDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomerDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e366e0ca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"col-md-8 centeralign\"},[_c('b-card',{staticStyle:{\"padding\":\"20px\"},attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"content-class\":\"mt-3\"}},[_c('b-tab',{attrs:{\"title\":\"Introduction\",\"active\":\"\"}},[_c('Introduction')],1),_c('b-tab',{attrs:{\"title\":\"Hashing\"}},[_c('Hash')],1),_c('b-tab',{attrs:{\"title\":\"Symmetric\"}},[_c('Symmetric')],1),_c('b-tab',{attrs:{\"title\":\"Asymmetric\"}},[_c('Asymmetric')],1),_c('b-tab',{attrs:{\"title\":\"Zero Knowledge Proof\"}},[_c('ZKP')],1)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-8\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Data:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"change\":function($event){return _vm.gotosubpage()},\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Hash:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hashtext),expression:\"hashtext\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.hashtext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.hashtext=$event.target.value}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Hash.vue?vue&type=template&id=414fd3f2&scoped=true&\"\nimport script from \"./Hash.vue?vue&type=script&lang=js&\"\nexport * from \"./Hash.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"414fd3f2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asymmetric\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"vertical\":\"\",\"nav-wrapper-class\":\"w-30\"}},[_c('b-tab',{attrs:{\"title\":\"Key Pair\",\"active\":\"\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.generatekp()}}},[_vm._v(\"Generate Keypair\")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('table',{staticClass:\"table table-bordered\"},[_c('tr',[_c('th',[_vm._v(\"Public Key\")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.publickey),expression:\"publickey\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.publickey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.publickey=$event.target.value}}})])]),_c('tr',[_c('th',[_vm._v(\"Private Key\")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.privatekey),expression:\"privatekey\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"text\",\"disabled\":\"\"},domProps:{\"value\":(_vm.privatekey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.privatekey=$event.target.value}}})])])])])])])])],1),_c('b-tab',{attrs:{\"title\":\"Encryption\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Recipient's Public Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recipientPublicKey),expression:\"recipientPublicKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.recipientPublicKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recipientPublicKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('encrypt')}}},[_vm._v(\"Encrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cipherText),expression:\"cipherText\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.cipherText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cipherText=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Decryption\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.cipherText),expression:\"cipherText\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.cipherText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.cipherText=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Recipient's Private Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recipientSecretKey),expression:\"recipientSecretKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.recipientSecretKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.recipientSecretKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('decrypt')}}},[_vm._v(\"Decrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.decryptPlaintext),expression:\"decryptPlaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.decryptPlaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.decryptPlaintext=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Sign\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Sender's Private Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.senderPrivateKey),expression:\"senderPrivateKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.senderPrivateKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderPrivateKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.dsOperation('sign')}}},[_vm._v(\"Sign\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Signed Message:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.signedMessage),expression:\"signedMessage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.signedMessage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.signedMessage=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Verify\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Signed Message:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.signedMessage),expression:\"signedMessage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.signedMessage)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.signedMessage=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Sender's Public Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.senderPublicKey),expression:\"senderPublicKey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.senderPublicKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderPublicKey=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('button',{staticClass:\"btn btn-primary floatLeft\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.dsOperation('verify')}}},[_vm._v(\"Verify\")])])])])])])],1)],1)],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Asymmetric.vue?vue&type=template&id=72d04f84&scoped=true&\"\nimport script from \"./Asymmetric.vue?vue&type=script&lang=js&\"\nexport * from \"./Asymmetric.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72d04f84\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Secret Key:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.secretkey),expression:\"secretkey\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.secretkey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.secretkey=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Plain Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.plaintext),expression:\"plaintext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.plaintext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.plaintext=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{ref:\"encrypt\",staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('encrypt')}}},[_vm._v(\"Encrypt\")])])]),_c('form',{staticClass:\"col-md-6\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Cipher Text:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ciphertext),expression:\"ciphertext\"}],staticClass:\"form-control\",attrs:{\"rows\":\"9\",\"cols\":\"50\"},domProps:{\"value\":(_vm.ciphertext)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ciphertext=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{ref:\"decrypt\",staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('decrypt')}}},[_vm._v(\"Decrypt\")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Symmetric.vue?vue&type=template&id=dfa08e9a&scoped=true&\"\nimport script from \"./Symmetric.vue?vue&type=script&lang=js&\"\nexport * from \"./Symmetric.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dfa08e9a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"blog\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Vishwas1/crypto/blob/master/docs/README.md\",\"target\":\"_blank\"}},[_vm._v(\"Basic concept of cryptography\")]),_c('ul',[_c('li',[_vm._v(\"Hashing\")]),_c('li',[_vm._v(\"Symmetric Key Cryptography\")]),_c('li',[_vm._v(\"Asymmetric Key Cryptography\")]),_c('li',[_vm._v(\"Digital Signature\")]),_c('li',[_vm._v(\"Zero Knowledge Proof (of age)\")])])]),_c('li',[_vm._v(\"\\n Uses following libraries\\n \"),_c('ul',[_c('li',[_vm._v(\"\\n Hashing\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/blakejs\",\"target\":\"_blank\"}},[_vm._v(\"Blakejs\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/sha.js\",\"target\":\"_blank\"}},[_vm._v(\"SHA js\")])])])]),_c('li',[_vm._v(\"\\n Symmetric Key Cryptography\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/aes-js\",\"target\":\"_blank\"}},[_vm._v(\"Aes-js\")]),_vm._v(\" with CTR mode\\n \")])])]),_c('li',[_vm._v(\"\\n Asymmetric Key Cryptography\\n \"),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/tweetnacl\",\"target\":\"_blank\"}},[_vm._v(\"TweetNacl\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://www.npmjs.com/package/ed2curve\",\"target\":\"_blank\"}},[_vm._v(\"Ed2Curve\")])])])])])]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Vishwas1/crypto\",\"target\":\"_blank\"}},[_vm._v(\"Source Code\")])])])])]),_c('div',{staticClass:\"col-md-6\"},[_c('p'),_c('h5',[_vm._v(\"Encourage me by giving this repo a \"),_c('b',[_vm._v(\"star\")]),_vm._v(\"! :)\")]),_c('p'),_c('div',{staticClass:\"github-card\",attrs:{\"data-github\":\"vishwas1/crypto\",\"data-width\":\"400\",\"data-height\":\"\",\"data-theme\":\"default\"}})])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Introduction.vue?vue&type=template&id=00ee59b9&scoped=true&\"\nimport script from \"./Introduction.vue?vue&type=script&lang=js&\"\nexport * from \"./Introduction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00ee59b9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"asymmetric\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"card\":\"\",\"vertical\":\"\",\"nav-wrapper-class\":\"w-30\"}},[_c('b-tab',{attrs:{\"title\":\"Introduction\"}},[_c('b-card-text',[_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('h4',[_vm._v(\"Zero Knowledge Proof of Age\")]),_c('hr'),_c('p',[_vm._v(\"\\n In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x. The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information. (Source: \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Zero-knowledge_proof\"}},[_vm._v(\"Wikipedia\")]),_vm._v(\")\\n \")]),_c('p',[_vm._v(\"\\n In this demo I (the holder) want to proof to someone (the verifier) that his age is above certain number (say 18+). To do that\\n I will ask my issuer to issue me a certificate (which will contain the challenge and the proof) - the zero knowledge proof - so that I can produce that to the verifier.\\n The verifier then can verify the the proof submitted by my without having to know my real age.\\n \")]),_c('hr'),_c('p',[_vm._v(\"\\n We used the concept of \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Hash_chain\"}},[_vm._v(\"hash chaining\")]),_vm._v(\" for implementation. The implementation is inspired from \"),_c('a',{attrs:{\"href\":\"https://www.stratumn.com/thinking/zero-knowledge-proof-of-age-using-hash-chains/\",\"target\":\"_blank\"}},[_vm._v(\"this\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://labs.imaginea.com/zero-knowledge-proof-of-age/\",\"target\":\"_blank\"}},[_vm._v(\"this\")]),_vm._v(\" blog posts.\\n \")])])])])])],1),_c('b-tab',{attrs:{\"title\":\"Generate Proof\"}},[_c('b-card-text',[_c('div',{staticClass:\"row note\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('p',[_vm._v(\"\\n Here, the user(or the holder) will ask trusted issuer to generate the proving kit, which contains \"),_c('b',[_vm._v(\"proof\")]),_vm._v(\" and \"),_c('b',[_vm._v(\"challenge\")]),_vm._v(\" by providing his actual age and the age to prove. Notice the proof (or claim) does not reveals any of his information except the fact that he is above certain age.\\n \"),_c('br'),_c('i',[_vm._v(\"\\n proof = HASH^(1 + actualAge)(randomeed); \"),_c('br'),_vm._v(\"\\n challenge = HASH^(1 + actualAge - ageToProve)(random-seed);\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-4\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Actual age:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.actualAge),expression:\"actualAge\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.actualAge)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.actualAge=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Age to prove:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ageToProve),expression:\"ageToProve\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.ageToProve)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ageToProve=$event.target.value}}})]),_c('div',{staticClass:\"form-group floatLeft\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('generateProof')}}},[_vm._v(\"Generate Proof\")])])]),_c('form',{staticClass:\"col-md-8\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Proving Kit:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proof),expression:\"proof\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.proof)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.proof=$event.target.value}}})])])])])],1),_c('b-tab',{attrs:{\"title\":\"Verify Proof\"}},[_c('b-card-text',[_c('div',{staticClass:\"row note\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('p',[_vm._v(\"\\n Once receieved the proving kit, the verifier can verify the claim. \\n \"),_c('br'),_c('i',[_vm._v(\"\\n 1. verification = hash^(ageToProve)(challenge) \"),_c('br'),_vm._v(\"\\n 2. Check if the verification == proof;\\n \")])])])]),_c('div',{staticClass:\"row\"},[_c('form',{staticClass:\"col-md-12\",attrs:{\"action\":\"#\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Proving Kit:\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proof),expression:\"proof\"}],staticClass:\"form-control\",attrs:{\"rows\":\"8\",\"cols\":\"50\"},domProps:{\"value\":(_vm.proof)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.proof=$event.target.value}}})]),_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',{staticClass:\"floatLeft\"},[_vm._v(\"Age to prove:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ageToProve),expression:\"ageToProve\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.ageToProve)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.ageToProve=$event.target.value}}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('button',{staticClass:\"btn btn-primary floatLeft\",attrs:{\"type\":\"button\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){return _vm.operation('verifyProof')}}},[_vm._v(\"Verify Proof\")])])])])])])],1)],1)],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./zkp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./zkp.vue?vue&type=template&id=02515e26&scoped=true&\"\nimport script from \"./zkp.vue?vue&type=script&lang=js&\"\nexport * from \"./zkp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./zkp.vue?vue&type=style&index=0&id=02515e26&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02515e26\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Crypto.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Crypto.vue?vue&type=template&id=08f60a92&scoped=true&\"\nimport script from \"./Crypto.vue?vue&type=script&lang=js&\"\nexport * from \"./Crypto.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Crypto.vue?vue&type=style&index=0&id=08f60a92&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08f60a92\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Customers from './views/Customers.vue'\nimport CustomerDetails from './views/CustomerDetails.vue'\nimport Crypto from './views/Crypto.vue'\n\nVue.use(Router)\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n redirect: '/crypto'\n },\n {\n path: '/customers',\n name: 'customers',\n component: Customers\n },\n {\n path: '/customerdetails/:id',\n name: 'customerdetails',\n component: CustomerDetails\n },\n {\n path: '/crypto',\n name: 'crypto',\n component: Crypto \n }\n ]\n})\nexport default router\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport BootstrapVue from 'bootstrap-vue'\nimport 'bootstrap/dist/css/bootstrap.css'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\nVue.config.productionTip = false\nVue.use(BootstrapVue);\n\nnew Vue({\n router,\n render: h => h(App)\n}).$mount('#app')\n","// Zero knowledge proof of age\n// Using concept of hash chaining\n// Ref: https://www.stratumn.com/thinking/zero-knowledge-proof-of-age-using-hash-chains/\n\nconst { sha256hashStr } = require('./symmetric')\nconst asymm = require('./asymmetric') \n\n\nconst getIteratedHash = (number, data) => {\n if(number <= 0) return data\n return getIteratedHash(--number, sha256hashStr(data))\n}\n\nconst generateProof = (actualAge, ageToProof) => {\n if(!actualAge || !ageToProof) throw new Error(`Invalid actual age = ${actualAge} or age to proof = ${ageToProof}`)\n actualAge = parseInt(actualAge);\n ageToProof = parseInt(ageToProof);\n const randomString = \"random_\" + asymm.generateKeyPair().publicKey;\n return {\n proof: getIteratedHash(1+ actualAge, randomString),\n challange: getIteratedHash(1+ actualAge - ageToProof, randomString),\n }\n}\n\nconst verifyProof = (ageToProof, provingKit) => {\n const { challange, proof } = provingKit;\n if(!challange || !proof) throw new Error('Invalid proving kit');\n if(challange.indexOf('random_') >= 0) return false\n const temp_proof = getIteratedHash(ageToProof, challange)\n if(temp_proof === proof) return true\n return false\n}\n\nmodule.exports = {\n generateProof,\n verifyProof\n}","// Ref: https://github.com/aeternity/aepp-sdk-js/blob/f2088c405ff6071f6b809c279231a3dff40e6ffb/es/utils/crypto.js\n\nconst nacl = require('tweetnacl')\nconst bs58check = require('bs58check')\nconst { blake2b } = require('blakejs')\nconst ed2curve = require('ed2curve')\nconst signer = require('nacl-signature')\nnacl.util = require('tweetnacl-util')\n\n\nfunction encodeBase58Check(input) {\n return bs58check.encode(Buffer.from(input))\n}\n\nfunction decodeBase58Check(str) {\n return bs58check.decode(str)\n}\n\nexport function generateKeyPair() {\n const keyPair = nacl.sign.keyPair()\n const publicBuffer = Buffer.from(keyPair.publicKey)\n const secretBuffer = Buffer.from(keyPair.secretKey)\n return {\n publicKey: encodeBase58Check(publicBuffer),\n secretKey: secretBuffer.toString('hex')\n }\n}\n\nexport function encrypt(msg, publicKey) {\n const ephemeralKeyPair = nacl.box.keyPair()\n const pubKeyUInt8Array = decodeBase58Check(publicKey)\n const nonce = nacl.randomBytes(nacl.box.nonceLength)\n\n const encryptedMessage = nacl.box(\n Buffer.from(msg),\n nonce,\n ed2curve.convertPublicKey(pubKeyUInt8Array),\n ephemeralKeyPair.secretKey\n )\n\n return {\n ciphertext: Buffer.from(encryptedMessage).toString('hex'),\n ephemPubKey: Buffer.from(ephemeralKeyPair.publicKey).toString('hex'),\n nonce: Buffer.from(nonce).toString('hex'),\n version: 'x25519-xsalsa20-poly1305'\n }\n}\n\nexport function decrypt(secretKey, encryptedData) {\n const receiverSecretKeyUint8Array = ed2curve.convertSecretKey(Buffer.from(secretKey, 'hex'))\n const nonce = Buffer.from(encryptedData.nonce, 'hex')\n const ciphertext = Buffer.from(encryptedData.ciphertext, 'hex')\n const ephemPubKey = Buffer.from(encryptedData.ephemPubKey, 'hex')\n const decrypted = nacl.box.open(\n ciphertext,\n nonce,\n ephemPubKey,\n receiverSecretKeyUint8Array\n )\n return decrypted ? nacl.util.encodeUTF8(decrypted) : decrypted\n}\nexport function hash(input) {\n return Buffer.from(blake2b(input, null, 32)).toString('hex') // 256 bits\n}\nexport function sign(data, privateKey) {\n return Buffer.from(nacl.sign.detached(Buffer.from(data), Buffer.from(privateKey, 'hex'))).toString('hex')\n}\nexport function verify(message, signature, publicKey) {\n signature = Buffer.from(signature, 'hex')\n publicKey = decodeBase58Check(publicKey)\n return signer.verify(message, signature, publicKey)\n}\n\n\n\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Symmetric.vue?vue&type=style&index=0&id=dfa08e9a&scoped=true&lang=css&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Introduction.vue?vue&type=style&index=0&id=00ee59b9&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Asymmetric.vue?vue&type=style&index=0&id=72d04f84&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Hash.vue?vue&type=style&index=0&id=414fd3f2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomerDetails.vue?vue&type=style&index=0&id=e366e0ca&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file