Files
2026-08-09 13:54:08 +03:00

40 lines
1.1 KiB
Lua
Executable File

#!/usr/bin/env lua
local curve25519 = dofile("curve25519.lua")
local function print_hex(a)
for _, h in pairs(a) do
io.write(string.format("%02x", h))
end
print()
end
local base_point = { 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
local client_private = {
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,
0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,
0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20
}
local server_private = {
0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,
0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,
0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,
0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0
}
local client_public = curve25519(client_private, base_point)
local server_public = curve25519(server_private, base_point)
print("client_public")
print_hex(client_public)
print("server_public")
print_hex(server_public)
local client_shared = curve25519(client_private, server_public)
local server_shared = curve25519(server_private, client_public)
print("client_shared")
print_hex(client_shared)
print("server_shared")
print_hex(server_shared)