local serialization = require("serialization") local component = require("component") local event = require("event") --读取私钥。 local file = io.open("rPrivate","rb") local rPrivate = file:read("*a") file:close() --将私钥解序列化。 local rPrivate = serialization.unserialize(rPrivate) --重建私钥对象。 local rPrivate = component.data.deserializeKey(rPrivate,"ec-private") --使用event.pull()以接收来自发送者的信息。 local _, _, _, _, _, message = event.pull("modem_message") --将信息解序列化。 local message = serialization.unserialize(message) --从信息中获取公钥并解序列化。 local sPublic = component.data.deserializeKey(message.header.sPublic,"ec-public") --生成解密密钥。 local decryptionKey = component.data.md5(component.data.ecdh(rPrivate, sPublic)) --使用解密密钥和IV来解密message.data中的加密数据 local data = component.data.decrypt(message.data, decryptionKey, message.header.iv) --解序列化解密后的数据。 local data = serialization.unserialize(data) --输出解密后的数据。 print(data)