extends Node var computer_a = { "crypto": Crypto.new(), "private_key": null, "peer_public_key": null, } var computer_b = { "crypto": Crypto.new(), "private_key": null, "peer_public_key": null, } """ """ func _ready() -> void: computer_a["private_key"] = computer_a["crypto"].generate_rsa(2048) computer_b["private_key"] = computer_b["crypto"].generate_rsa(2048) var a_pub_key: String = computer_a["private_key"].save_to_string(true) print(len(a_pub_key)) var b_pub_key = computer_b["private_key"].save_to_string(true) var key_a = CryptoKey.new() key_a.load_from_string(b_pub_key, true) var key_b = CryptoKey.new() key_b.load_from_string(a_pub_key, true) computer_a["peer_public_key"] = key_a computer_b["peer_public_key"] = key_b var encrypted: PackedByteArray = computer_a["crypto"].encrypt(computer_a["peer_public_key"], "This is a test".to_utf8_buffer()) var decrypted = computer_b["crypto"].decrypt(computer_b["private_key"], encrypted).get_string_from_utf8() print(encrypted) print(decrypted)