Encryption 摩托罗拉68000-可靠地加密一个数字

Encryption 摩托罗拉68000-可靠地加密一个数字,encryption,68000,Encryption,68000,我想知道是否有一种方法可以在m68k中可靠地加密、加密或隐藏一个数字(或总的来说) 或者像那样不一致的东西 谢谢 简短回答:不 更详细的回答:在大多数CPU中没有一个好的方法来处理这个问题。执行此操作的CPU具有用于IO的硬件加密块,因此从机箱外部引用的数据将被加密。实际上,您可以对某些类型的密码上的加密数据进行某些数学运算。例如,您可以在IDEA中添加两个加密值,并获得加密输出,这就是添加,但这不是很有用 我能想到的最接近的事情是在几个68k寄存器中设置一些偏移值,然后围绕这些设置创建一个简单

我想知道是否有一种方法可以在m68k中可靠地加密、加密或隐藏一个数字(总的来说

或者像那样不一致的东西

谢谢

简短回答:不

更详细的回答:在大多数CPU中没有一个好的方法来处理这个问题。执行此操作的CPU具有用于IO的硬件加密块,因此从机箱外部引用的数据将被加密。实际上,您可以对某些类型的密码上的加密数据进行某些数学运算。例如,您可以在IDEA中添加两个加密值,并获得加密输出,这就是添加,但这不是很有用

我能想到的最接近的事情是在几个68k寄存器中设置一些偏移值,然后围绕这些设置创建一个简单的Fiestel网络。这将允许您对数据进行操作。这将只是一些ROR和XOR掩码,但它会使您可以进出数据,但您需要浪费周期,以便消除数据模糊


如果您在FPGA上有一个软核,我已经看到了使用PRESENT在寄存器级别使用隔离密钥进行加密。达特茅斯的BEAR操作系统与硬件集成,在流程级别为您提供隔离。如果你需要一些线索,那可能是一个很好的开始。祝你好运。

我能想到的唯一不浪费任何额外周期的方法就是滥用68k地址总线只有24位的事实(至少在一些最早的型号上是这样)。您可以在每个长字地址后缩进随机8位整数,例如

dc.l ($30<<24)|$FF1234.l
jsr ($EA<<24)|DisplayText
lea ($1F<<24)|MainPalette,a2
clr.b ($1F<<24)|$FF890D.l

dc.l($30)这真是个好主意。我记得旧的MacOS用上8位做了些什么。
dc.l ($30<<24)|$FF1234.l
jsr ($EA<<24)|DisplayText
lea ($1F<<24)|MainPalette,a2
clr.b ($1F<<24)|$FF890D.l