Skip to content

Commit

Permalink
feat: add mlkem512 zencode and fix function argument sha256
Browse files Browse the repository at this point in the history
  • Loading branch information
ManudL2000 authored and jaromil committed May 16, 2024
1 parent 7aa7f74 commit 00d9b38
Show file tree
Hide file tree
Showing 28 changed files with 447 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"keyring":{"mlkem512":"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"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Alice":{"mlkem512_public_key":"DtxnHcsUepAkFKNzKlkFkXafoTyFHdFpwJcjfKK27VdsvjSnigxNW5GPqLpeb7UnWzZizJon9/N11LlbW8Vy/jpkpsZrvUmw7HBBrMfD5za+Tzm7r/VX56jABiBXNVkl2OwMvOtz8Pp/fQWxQsifWyY9poUEp9Q2JtTJCyBOa7onM5Gci5Uk7CdTwPjITaA+zAAbt4UuTAzJ8oU2jkuLSxaD0oKA8ih3FUqgJyeB62GN0hYAN/XLBxpK09I/fDCms3lzYwxUkMu4hySX1OKM+dhu7NwBmWMwC+k5EGdFx4FlkvO3apIEPcpifrUAkBmW7jU5iyq2H/V4WemSW+yiRHIHGmaWWvjB3dKEqlJvOSe2YSlD5qdaj/ByvOw4pTwpjMdD84CATpoNt3k0pwmxb/bFzceKvSzMCMQbmNYu28wJKWioP0M4IhoSZRW4gDejg7CFB3eH3oFY1bV+Z3sHBpWrwhpELrwjg9EjEIUBhmRjdmMuH+EZDzt65rdP5pYs0wta7nSIRyKACPU5y5A14Ws17TYi1uXAFVSlglrOg0JUuvG5E1G/liQLL1uUwiQBd8LMZ7wdboMWKxpfAnZy/DJPidVAillY96NuxHLITBdw9IUAVumn9elEDeEKlipV+AQ2S5ptXUpv+zyY2VZHWpc7zzudcZGZhBhHuEtwC7Ctj+W7F7K5XzxSdwo/yHYXISUi7gpzCrPEvfa7Owl4BxGGpmheQzrJzfN3D5cl7BWdOnnPYjJUrtVIcPdGKxUjzefPe+uuknBL9ZJQvrmzYBhpSAI0LFGMbpGhJ4Sl0JKIEaPGIEkPv3WtFCkzvWUyLFATagyFobmSQnUh0dTCDJcp5Emcf9d+YOExs2e2rWfIPBhNtjSMTjxABDMIQ2Bj5zdZXnJRhBw56TCTLWA04/GF/ew/sKWjwsUI7sgQDexJpwkK0RgbdMhBkuCzu2lhEgdKpsAqGReBRgKIPKeUxAYfVoFLAalx2SqVgJDBYMfPi4oLcFG/tXrDKtVlB+AM44tUBROulSniFeI7P47VfvZYP8cdtMJxO1QinTG5cek="}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"output":["Success!!!"]}
18 changes: 18 additions & 0 deletions docs/examples/zencode_cookbook/mlkem512/Carl_ECDH_mlkem512_dec.zen
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Rule check version 2.0.0
Scenario ecdh : Carl decrypts the secret message from Bob using ECDH
Scenario qp : Carl creates the mlkem512 secret
Given that I am known as 'Carl'
and I have my 'keyring'
and I have a 'ecdh public key' from 'Bob'
and I have a 'secret message'
and I have a 'string' named 'message'
and I have a 'mlkem512 ciphertext'
and I have a 'mlkem512 secret'
When I rename the 'mlkem512 secret' to 'Bob mlkem512 secret'
and I rename the 'message' to 'Dave message'
and I decrypt the text of 'secret message' from 'Bob'
and I create the mlkem512 secret from 'mlkem512 ciphertext'
If I verify 'Bob mlkem512 secret' is equal to 'mlkem512 secret'
If I verify 'Dave message' is equal to 'text'
Then print string 'Success!!!'
Endif
18 changes: 18 additions & 0 deletions docs/examples/zencode_cookbook/mlkem512/Carl_ECDH_mlkem512_enc.zen
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Rule check version 2.0.0
Scenario ecdh : Bob encrypts a secret message for Carl
Scenario qp : Bob creates a secret and its ciphertext for Carl
Given I am 'Bob'
and I have a 'mlkem512 public key' from 'Carl'
and I have a 'ecdh public key' from 'Carl'
When I create the mlkem512 kem for 'Carl'
and I create the ecdh key
and I write string 'This is my secret message.' in 'message'
and I write string 'This is the header' in 'header'
and I encrypt the secret message of 'message' for 'Carl'
and I rename the 'ecdh public key' to 'Carl ecdh public key'
and I create the ecdh public key
Then print the 'secret message'
and print the 'message'
and print my 'ecdh public key'
and print the 'mlkem512 ciphertext' from 'mlkem512 kem'
and print the 'mlkem512 secret' from 'mlkem512 kem'
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Rule check version 2.0.0
Scenario ecdh : Create the public key
Scenario qp : Create the public key
Given I am known as 'Carl'
and I have my 'keyring'
When I create the ecdh public key
and I create the mlkem512 public key
Then print my 'mlkem512 public key'
and print my 'ecdh public key'
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Rule check version 2.0.0
Scenario ecdh : Create the private key
Scenario qp : Create the private key
Given I am known as 'Carl'
When I create the ecdh key
and I create the mlkem512 key
Then print my 'keyring'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Carl":{"ecdh_public_key":"BHdrWMNBRclVO1I1/iEaYjfEi5C0eEvG2GZgsCNq87qy8feZ74JEvnKK9FC07ThhJ8s4ON2ZQcLJ+8HpWMfKPww=","mlkem512_public_key":"6ahOEnyhnNtpL5ei6DEpNiVuSkAFIkm7LPLN1QZYmPqV32NohIuYism+TmUSFDBpOAN5gCZ7pnCq/LdY3XBA7kRIBiNpMbYlo2ejEiU2xWx+x+PLgAFJkrQZAVG/CAY21alQcTscYeyjMSoo24HPGLIBkjgVttWTH5kGDOOfrRe3YKmRwykG30IrInjLlHq6/gWP85EO70CZQ5uHkxUPwRc//wRWcpiIE1AaHticIRWob/Fu2/M0+0mBpScAthJccDNJRdhbIyogdjJrHkY7HDpgnqEZk4i9mOgBSCEXtUsF+4uS0fo26XNwPfghtRBa2vRstYoz+YZe0DSv+TWEh8Ni6byvonjCniNSiBCcjpsl+6O+FJgJA7lXtthB05yRCmhdndZm+kiIsdqTL2o26JkRMpcCr6koW6a07Dc1vaCz05IcgNOR+MiuNvlZDHU6KsWzRXxlvytYTEQK3xuy8KRcoHkuhxYQwxWKYpXMHkxAl7d8RPU81IHI1wOhPhIVvdSqh+uvaztsSOqkaThaWxaEnzaCLqEcAmuhc+y3D4M/UHBuxnRBbpAsqRCjRpDFI5EisKp75aKFZ/TBV4xerZghN2gKgaJ6cGRHyvUVf7aE9iaJnqNplCKy+bijNMEToftq87MdgdoYQIBVCAsVmctKR3dVYouHwXETR9iTwIufk5ReQOcl1UgCXFS0PIrHWkIhI3YlC9TMBCFKutNFFUcUTVSCi6qTVmusTfEVYCFqt6df7LtrkKivE7J8WSSkBWdUmWoIeaLPh6iB7yd1puO421Y/SJhOHdei6ZxKbwoVsQey0wSEKrom8kYGA4bBT8Z1K6ZP3ISumhmArzATvdN10oJ3Bdlzrru9/FqKNTlPY0IL7NuFJgJOyJgCV4WUXUEv/XzLcEEIUyh+dSWn2Msjv4IaOfSPYlIBMVrAu4Yq7WRapYfIoJc8r3unLePPmKS4rtPG8+M1OiUif8tXO+OLAdpMF2wccXCoIwoMVsXLSWhvjofK1gdY9Jlq8jmw3DpKkJsIFJlDNJD/FJdJdIE98lm8mxdVeVgj38VQj2c="}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Carl":{"keyring":{"ecdh":"B4rYTWx6UMbc2YPWRNpl4w2M6gY9jqSa637n8Kr2pPc=","mlkem512":"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"}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Bob":{"ecdh_public_key":"BFuMmKpzD6nEn5IavxRH6/EIZfsPh0Y4hSvSYHbhdSugtDLydRNlxaTTGIBEAXWdzyLgtEPNxc9ZbFoEdR8G9g8="},"message":"This_is_my_secret_message.","mlkem512_ciphertext":"iqfm77Xi6y6Pt9cHKu29k0NluH9vwmzyuip+Tig9R01zD8qbGnb8mOKDiB30jiwpoZsU9Nv4HiFj5ZlAuysJUmo/R3SOHoDu3x5jBn4Dq1tnd/F3/ZERGGXLbPwvpxjwXVsOmR1yutRFMIX46jlHFwZYOqdaig7GU2XiRdjLUgRcmJsQSrwCUjWFIqp0EZbPDwxxvgy0SlYSLei8/zi60RfefBGuBor487BBbTNYU8fJZSRX2zzfquxePjxy6H0ISqDCFcY1P+a+hhc88zdI17VegTlLyuinUFNGUbbznyCY3s34SajxW0N62kd0bL20uBEN7y7LpQJdXEdDJDKMssvjh1yn6ZkXlQOnQD5AZ3/tUnAx8QP8YwizRvJwPKf6YCudbPiZup5H922gJFCICcnyb8O0dbZGP0agIEaD08pTA1rSIyD1TB1ov9yDH6x+8xuhFsxKOCFIA+07vNwiJMTQsj3E5Ituk1DAuQMFQHnmmmu8uwIAOoHnbidKXOR4I7iD/CA2f4pr0BNB+UYTxccx8Q6b8R0s9kd4JQfOmiWK8exnDUXb2OlO4YhRXQXor/oiIFDst6YIYMgNKYciktuKL/JNozOhe4+4+CJQmmma1ucONGvW+pZP/9R970DMBdvGG+T0AFNymA0N3AQiinCuEyt6Um9AHocxpc7UWPDH4LzbgerzrIiCaRbh3R7OoDnCEH6f/sUYlpS7rhbTvhV5ffmof3jWtw/aoGFJx4sm7nRc3ibqTUkJnQGRDFRLNxLXUlDOHmNwp6B6hCWoZxkANFyis+5GWissD70hsPRuzUBLVWVe6jJ1ucIskObUb3JpSSObl3SS4qQLu+W/ncO9UR+8a/J1lBcwYk+QGA1ee05uiab8jpftevL9Q32BhnVCD+Dyp5fQuZGoAcpC2gqNfdm+lZBDfPNpztA3/uhnS/xFdi/ReemHTCzsVGZWWlyHZeSLfoc6sd9ZB2td6ht6wL7znY8/499ETBRTQh+ccOlkRysLqzCpmeMS6OE/","mlkem512_secret":"ONpvYcHtpqQEfdEbP6/DWPzZiOoiDa1pT4XKng+HRQY=","secret_message":{"checksum":"mfml95jUDjF61Q9yQ+kowg==","header":"VGhpc19pc190aGVfaGVhZGVy","iv":"6UasczRKmme8SOUwelXq2y5du448E+Ms3dIvuzRnWQM=","text":"OKwc/cnIAQ6RVKX59J/fVMb7GhQar5BpWa0="}}
1 change: 1 addition & 0 deletions docs/examples/zencode_cookbook/mlkem512/mlkem512_Kem.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mlkem512_ciphertext":"lA3nTU1AhMl1Q6+FM7raihOGOmc6I8MZiDkCcNnK1lAaU2hUGfnA8m7AdwDmbeNmI4QEItDLFHvzjZGyrCmvzebqeNC1WGTJo27ga9/AMJ+wFgLp58chzBt+/YDDbk9aqz/T5FJgvjy2E3x4t/Kg2DYw/LaA20NxTgJFpwcbIOc63NLw/jJ+ztHuosCsV4ejDqWIufAqUHZS5iFEAhsScxiuxTzSKsh2SIRh4jDxwxbCjCV/PNIOaDeqUQmXzm12ffVkXztW5+qdh8N7ELH6MnygMXFZxq3JaBHyqeJy0CJKhl99LMqXEzniz05pUND6iD1ilHbLyGF7hdXuzacjEPZIYCAng1gZ/vXNoi9r2P4qcU/6VIh+oyR4YOn3t+TphaRusvsstJj6Klns8ZIwd3GkgOYu1A1HU8knL/o1nHuUs3ZkVD2ktcgaCcXEcsivbGP3KlnLPrhwQ58Uv6lyLzVwpUFOmIt/hstoTFyMKN0iZeO7T0N2mqKY2+/eUKZTIHiuB4rTjrpsjfhqXKNicIC5IAeJR9HGonJqwLYkqnHsghqH72u/O8EoV4gEnyjqW6pveOFQi3NjmrNYpW7gVPe9M0cT9U9HKaJ587Jv/MitFWx998ST4gFrqoeDAP0pQA2GINFNpaP2FjlaIMPOQr9xGQ7XcFU9hWBj80r9j4Yb/rOQf9aGu25n4qs4VbG5z7Vc7m6rpVtsl12o1XLp+0CjcR0wkYezu1C7inOV+Fn2Jbdi4aOMPkpWwdsR0b828jhAg8oUIBH5tSMvWDz0InuYi0a5bUaBvf8kFrFJPfLzpG8yMaUPlxbqXG+qUIFEMed+yGqcOMQB3hjRUNoZZJQWHsiWJO3FWQCVQx9+IiMrbBohi6PxZRC+rTXyPV2mzSHbKmY4xFcC+pIUd6t4AGettaSODHrtL+cvw7jWMI4PWSJhBl5lqF5+3dBts/wQSIZzuyPQuXoDK+Nt37aZLuoMECYptwE31eQ4e6mLIHJmKzp23rgsnS8q6EvrzwSA","mlkem512_secret":"8X4nkGBMabBgyai1TgpoBZLeXK/AG4vv2/GbQfgXiC4="}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mlkem512_ciphertext": "lA3nTU1AhMl1Q6+FM7raihOGOmc6I8MZiDkCcNnK1lAaU2hUGfnA8m7AdwDmbeNmI4QEItDLFHvzjZGyrCmvzebqeNC1WGTJo27ga9/AMJ+wFgLp58chzBt+/YDDbk9aqz/T5FJgvjy2E3x4t/Kg2DYw/LaA20NxTgJFpwcbIOc63NLw/jJ+ztHuosCsV4ejDqWIufAqUHZS5iFEAhsScxiuxTzSKsh2SIRh4jDxwxbCjCV/PNIOaDeqUQmXzm12ffVkXztW5+qdh8N7ELH6MnygMXFZxq3JaBHyqeJy0CJKhl99LMqXEzniz05pUND6iD1ilHbLyGF7hdXuzacjEPZIYCAng1gZ/vXNoi9r2P4qcU/6VIh+oyR4YOn3t+TphaRusvsstJj6Klns8ZIwd3GkgOYu1A1HU8knL/o1nHuUs3ZkVD2ktcgaCcXEcsivbGP3KlnLPrhwQ58Uv6lyLzVwpUFOmIt/hstoTFyMKN0iZeO7T0N2mqKY2+/eUKZTIHiuB4rTjrpsjfhqXKNicIC5IAeJR9HGonJqwLYkqnHsghqH72u/O8EoV4gEnyjqW6pveOFQi3NjmrNYpW7gVPe9M0cT9U9HKaJ587Jv/MitFWx998ST4gFrqoeDAP0pQA2GINFNpaP2FjlaIMPOQr9xGQ7XcFU9hWBj80r9j4Yb/rOQf9aGu25n4qs4VbG5z7Vc7m6rpVtsl12o1XLp+0CjcR0wkYezu1C7inOV+Fn2Jbdi4aOMPkpWwdsR0b828jhAg8oUIBH5tSMvWDz0InuYi0a5bUaBvf8kFrFJPfLzpG8yMaUPlxbqXG+qUIFEMed+yGqcOMQB3hjRUNoZZJQWHsiWJO3FWQCVQx9+IiMrbBohi6PxZRC+rTXyPV2mzSHbKmY4xFcC+pIUd6t4AGettaSODHrtL+cvw7jWMI4PWSJhBl5lqF5+3dBts/wQSIZzuyPQuXoDK+Nt37aZLuoMECYptwE31eQ4e6mLIHJmKzp23rgsnS8q6EvrzwSA"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Rule check version 2.0.0
Scenario qp : Create the mlkem512 private key
Given I am 'Alice'
When I create the mlkem512 key
Then print the 'keyring'
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Rule check version 2.0.0
Scenario qp : Create the mlkem512 public key
Given I am 'Alice'
and I have the 'keyring'
When I create the mlkem512 public key
Then print my 'mlkem512 public key'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Alice":{"mlkem512_public_key":"xlodnUeXd+aQWpGlyyRVHIseUqPHe2MxP/yLWBeBUlmmrbWWRdxLsUNtUeYqCWg0r0N3JRDE7fNM3gpbV8FF5ofLhxYvABwhyeGTSsEar6cP+BBzJlCzKjAYp8UM1zZ5YiLIq4IakoO+HMIEw/FjDTzM2wqaPRdVK5FYwGZOXWoEsPo23kWGKkajnsWXrkLDEcSsIkpy1vJTu1I196K4sPJNE3avWIdG87uOA2UHh2HKuYOkpqlAo9mXBHqPNqcx6JZSNsN78gAIL4IdyncWxESpC+xTB0u6WMEyv7mirOLOyapljqwSMszKPIF6ksEZXAXA4dZjn9Kt5TFgfUiLdKdHz/R/ylyLIWPKA8VF7RAyeEMMYLI4GglCf9Ew+Fm/Xbd22gldylgE+mOw19h/qUFccvtRhyqYn0ZsmEvHTCm4YyAZygQMnKNeImCNqnA1euLDrYNjH6oXTgrN9du/PPaKBbZUOrYmjhpRsJMsF7AKE3Gy2rJB+SpD/7RW0KjIhgqOKKYaITB8wEVtpCQpBcsdPQu9gbuO4nSkPHbDEAGVFfzBQEZ8MzcMhoCOyqWOO6k6LBGQRhwd+hEwIAG7q0yx42Qu+MsmMJtgUjvCGIewf4mM5WKmyneOoBUFhRN4zqi7f8CdEZYbbFlvk1QqmQSGTrEM0KcD26mJIYYah7BWUlxxqENVPmQAd3Q3yVzMgIXMDEd9ZlpEeQGdTNRC90o82BafQmK4JxtdWmfIwWEarns9BTTAhZcW/fC7aJSQlMBqG3PJqhy98zFUPeACqMBvlOiBClyzc4MnRdcgaDtXSHWmZpRtApaJPytZ6QdIjYyEidR02SmgWlc+1mdJA3GkbUVWy7aKqnnMPsZlNBNXbCKON5oUy5C3t1kbGae9N6HE03hZiSIZRCuwubm6Z7o7wNCVyIA86+l6/wscFTV4oTDNgVfPdFlGwvVybZwRJzV1UFKRNGUo7gusBHzJhFOLl7ur/MNX3Lipj7hXycUtG3hnScphiSsJdZmAUgCRubR3xw5sRlhrHM6+h7z23wPCsnywn6A/YxYJWDg75jY="}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Rule check version 2.0.0
Scenario qp : Create and publish the mlkem512 public key
Given I am 'Alice'
#and I have a 'mlkem512 private key'
and I have a 'hex' named 'private key'
When I create the mlkem512 public key with secret key 'private key'
Then print my 'mlkem512 public key'
13 changes: 13 additions & 0 deletions docs/examples/zencode_cookbook/mlkem512/mlkem512_dec.zen
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Rule check version 2.0.0
Scenario qp : Alice create the mlkem512 secret

# Here I declare my identity
Given that I am known as 'Alice'
# Here I load my keyring and the ciphertext
and I have the 'keyring'
and I have a 'mlkem512 ciphertext'

# Here I recreate the secret starting from the ciphertext
When I create the mlkem512 secret from 'mlkem512 ciphertext'

Then print the 'mlkem512 secret'
18 changes: 18 additions & 0 deletions docs/examples/zencode_cookbook/mlkem512/mlkem512_enc.zen
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Rule check version 2.0.0
Scenario qp : Bob create the mlkem512 secret for Alice

# Here I declare my identity
Given I am 'Bob'
# Here I load the receiver public key
# that will be needed to create the ciphertext
and I have a 'mlkem512 public key' from 'Alice'

# Here we create the KEM (key encapsulation mechanism)
# The kem contains the 'mlkem512_cyphertext' that will be sent to other party
# and the 'mlkem512_secret' which is random number of a defined length
# the 'mlkem512_secret' needs to be stored separately
When I create the mlkem512 kem for 'Alice'


Then print the 'mlkem512 ciphertext' from 'mlkem512 kem'
Then print the 'mlkem512 secret' from 'mlkem512 kem'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Alice":{"keyring":{"mlkem512":"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"}}}
6 changes: 6 additions & 0 deletions docs/examples/zencode_cookbook/mlkem512/mlkem512_readkeys.zen
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Rule check version 2.0.0
Scenario qp : Upload the mlkem512 private key
Given I am 'Alice'
and I have the 'keyring'
Then print my data
Then print my 'keyring'
Loading

0 comments on commit 00d9b38

Please sign in to comment.