Skip to Main Content
物联网设备安全
book

物联网设备安全

by Nitesh Dhanjani
March 2017
Intermediate to advanced content levelIntermediate to advanced
262 pages
5h 26m
Chinese
China Machine Press
Content preview from 物联网设备安全
130
5
计算的二进制结果是
00101000
。十进制是
40
,对应的
ASCII
值是
(
。这也就解释了为什
么我们的程序输出是
(
$-
。(有时间可以试试其他两个字符的计算,计算的结果会是
$
-
。)
在这个例子中,加密密钥是
KEY
,明文数据是单词
cat
,加密后的密文是
($-
,持有密钥
的人如果知道了密文,就可以对其进行解密,将
($-
还原成
cat
我们来验证一下:
#include <stdio.h>
int main()
{
char string[4]="($-";
char key[4]="KEY";
for(int x=0; x<3; x++)
{
string[x]=string[x]^key[x];
printf("%c",string[x]);
}
printf("\n");
return
1;
编译并运行这段程序:
$
gcc xor2.c -o xor2
$
./xor2
cat
这只是对
XOR
工作原理一个简单的描述。当然,在这个例子中,密钥和明文是等长的,
因而简单易懂。在真实的世界中,长密钥是很重要的,否则黑客借助暴力破解就能很容
易地猜出密钥。如果数据比密钥的长度要长,密钥就必须不断重复以匹配明文。当使用
一次性密钥(比如密钥不用重复使用,并且长度大于或等于明文的长度)的时候,
XOR
是一个很强壮的算法。
5.2.2
这才是加密
三星允许用户将固件程序保存至
USB
设备中,插入智能电视执行升级来下载固件。接下
来我们下载一个
PN58B860Y2F
模块的固件。在这个例子里,我们会分析一下
2009 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

数据科学之编程技术:使用R进行数据清理、分析与可视化

数据科学之编程技术:使用R进行数据清理、分析与可视化

迈克尔 弗里曼, 乔尔 罗斯
手把手教会你linux

手把手教会你linux

桑德.范.乌格特
C语言核心技术(原书第2版)

C语言核心技术(原书第2版)

Peter Prinz, Tony Crawford

Publisher Resources

ISBN: 9787111558668