feat: works with rust ml-kem

This commit is contained in:
2025-09-24 23:15:53 +08:00
parent 8e8389bac2
commit b11574902d

View File

@@ -25,8 +25,9 @@ print("\(privateKeyReference)");
print(); print();
print("Private key reference - publicKey: \(privateKeyReference.publicKey.rawRepresentation.base64EncodedString())"); print("Private key reference - publicKey: \(privateKeyReference.publicKey.rawRepresentation.base64EncodedString())");
// SharedSecret: wPgRcA9Ooisdsuj9sB6up39SHptGAdt5UENqUVur4pk= // generated by rust
let encapsulatedBase64 = "eGnPHukjhnWio6/JXoDhSoXpWH5ecLhMDwjdjwDTNinuBJ9yEvfcrZS9JJVVYL6ktP3FVnhSis74W0/rgDZk7m2Q98lwDPs/0MzpNjvZThd6T/07/ITJsi/d02OGDd9lGlXWrijSip7p67BEjJKzCLHOvXdD321T4PQZQbm5sFvUfMh1FBI/g1/V9SGtSjsX5KSh8CwjCTI+oHj9LIuZqCxmwyV8KjzNPrPmsUVQSMBa1TkpzKJkjuDe5FZQP0NTCbZW0/IeV59RQSaB74PICTbsN4x352JqmMGdGedzcutnajnPh5jwHUlCZauEryj/YfLIh4xfDDKL8yn/ecCIAuHbIqNXF0J972j4E4n+SBdm53H6gC01j7BKzOH69yxYa0sdQ15w5HQQHqm54UKbfZT0O6xKzBoSsAr9SfkHi86zUAfe4mp/BLrPOU4vScVa9hymlhmgucB/vGY80zUPasabyYykfTdMNRiO+MhINnfrnah5FSrbyo3K8Fxt+XUuRjhCtIR0u1r9D3po++9q+gVMM7vFi8dMJxgstl3y9xk49lcqda8AMHmho+ub6JYnr+pKFbbfLyd2w6bL1J0sN0y00Ji+uGITrVEn9vUTvdyYsUTJjBTX5x1CO/FV2TViApCfyrTJalLelf/mg8u6gxusd71B5AmVaL/W3JxL2Fx8pot9gQwKSK4pScKkZ5HQiPCUPigDyBR9h5pzxndKjHloboh/Ki44jiqspj8QFj2SR3HOQJjdZZCGO/i0iaRrFoY0DgJDW3OzoaHFBxHcFwMtUghaTyzSp+BgRVqDJn+JuL8ziTSmNeH1GH1709kSQisFK1E1pc+8TOYE7XB0c2wEfl/0k60yuil7GH+2xxxXTN3Lt4WWXN21aPHTf7YZfm0fQZOzL5FV+7342z5QqnOgMXELh8ng3slAKkdxzLOFmUDoYA3OPRij73LU5DL0e4iQUWGIyI83thlNmJTl5CE0lOSjmua0ayB+ToSys9yugxGfZM54JCln3odXu5xgik6ltapMTFOQqwBtDOvgbsgjiYIV/pkuJLwyr1pLTgtPnCkO16o3xvGyjaRigNpSS9gkjUUMmfWK46n8O+/qz6guoPFKiInwvC842F02szyIcp9Fm415nRzLPLPsXl3PdphV0lQjU9bu2ExFuRZMiQ3ZnyGVm1RSt+EZ/0twVSWZTZmrf23pLRZim/TqV92NOVpbVVuS2MvmYknmua+zce0mhx7uDMPA4jaWy84cvyus34pgwxPyL0HYuDo/F2yiR0r7z+Vk5+csc2MRnhDLOj3UQoGmddPekutDE4V9LojcbCvyEHfZupLZTfX+IxRGd0zPH40cirt602iBrf8+sYpQJ4gbeZtEVPG08kNL1se5892iXbuJz7u2OvZ8i0C/mMmM+2BAtMNAb3Otz9ohJPogjQDP7BOVuAqP4FPFN1Q=" // SharedSecret: ec/eevxNuvn2vfLb6grp39Q3/T/M/Sk/vMtMVXCOn58=
let encapsulatedBase64 = "H0z0Br0ABhO5sec4nm1SXqTKDNcgXgRmIDltbcWOJUMQtesoJV/IBHMHIMAjuFLXJzF0eDNgSmohVIkWz7uL6aADTQfrQBJgAyXfAC4Xr4vKRENbif92K6yOhXXugS7UldBQyERmo8XyT0UaiIbSJprfpE/dWN1czn8gSR1NujEqKBGO9nGlKNZsBs9oR/6pqu7GUpQcu3TNnvxpqyk6leTS8cl94+bVH3dOFovxsGzGLBB8EyOtLG6KmKYgYZ03OrXJL/O3P8QwB83arU0UjFcwY03+BgTxKjVapAs9riqT0SJ8GdwcycWwCcuiFSc5iXtKR6zcEAT8fRawHOkQs38hQlQFExCTQLlOLu68fYYlXwVgCRidJ9AOTXzkbGThg9FBN0Ss+HeZrCZMmeMPxcJNvN7WUhQ/Rxx79azFFWu1KFMtKfr3QmWzoYvkEmUQ3fNrqYb0U2O9Yzxfh2RFPW7BvgtK0cx29srb6eGotX7ciYu8CweD7T1rERQ4K/+1pMDh6BGwjiQng9PqVHBhFkBLYfAJskny/AmGpH5DwrnzLONBlSaz10P/jpFVNNq2Z7LakZuBfiCc8U1puaXeZztjwS7nCTjWB95qA7kdrV2vhuuTX79M0B5NxOOf8sfDuUH9oHQftLgHkK55deNP0IoOAkP5puc3mzAvEj1JYd2tZwDKVR9ZMo17oeT8JYMhKzuwu59lQZa7aC1aeuFYRFWQ315npLHVcMJrsL2/LsCeXcJNNYOPTatPxCtvuLrL89Tk/qBFYeNcxNp4tMqCgexDmdLQJSvETDDFBpzBBkomGQlureD7anUQDXvDyWBGNjhLAaEzJy96SQyu56MGgDNXiDuox3pOwEKv7XWVshr9W3n2/SERDZS6DWjEU8fbntiTIYll/AhTAsqrwJv/stMiPNdyCVSkZaS8/8ZJwxUe2Xzg+3Hs8375s22C9wmZ28bHQlw+3W4rEet+GxdecZmB6H7mJpUpU6xHJDlcrxMON5SQEp6tlwBgXUMBSnW8Vo0xu/a6huDrCJe3cTLG9oaqvI59ef/WVOuIDEaBloo4RI4RpjlJpqZZhcKdbLR0Jv4qnPS9EzNhgZbyCwII0pwsittKZM9ECmc5C4csJcPPQrfjwbj79H2YeXHvAd2QpugRgmMbwJD4exEBDVCUm4mYnW+vCI4/PtUz5I1be5a8IzFihGDW4cmRAFmBil3hKDyVDtX4h5KJ7ntwZIZaFWM+DC0NWW3WpvqLjmbYQw9qu3oQZqHf+VlTG4vtLi5wtixIjxuei7OKJOsEFsKbUna3d0h2/954GK2+gI4f4ilSiEAfw5MmhBD3D5gsi4INkYKXw3Mtj8GVK836boVwktgROGRw/ypyeOR/05IwYV+gz6G3BwPuXHBh5IL6tJfY9brdL6QTEXEOBMSH1cpPgYYI8Z6qtOF4/IndF3lvspA="
guard let encapsulated = Data( guard let encapsulated = Data(
base64Encoded: encapsulatedBase64, base64Encoded: encapsulatedBase64,
@@ -38,4 +39,5 @@ let sharedSecret = try privateKeyReference.decapsulate(encapsulated);
let sharedSecretData = sharedSecret.withUnsafeBytes { Data($0) } let sharedSecretData = sharedSecret.withUnsafeBytes { Data($0) }
print(); print();
print("SharedSecret: \(sharedSecretData.base64EncodedString())"); print("Expected shared secret: ec/eevxNuvn2vfLb6grp39Q3/T/M/Sk/vMtMVXCOn58=")
print("SharedSecret : \(sharedSecretData.base64EncodedString())");