移动云信忘记密码,找回密码怎么手机收不到验证码码,好像验证码就发不出来,求解!

当前【全部】
全部安卓手机安卓平板安卓电视iPhoneiPad其他
当前位置:>>>移动云信
热门排行榜
9000万+人在玩1000万+人在玩1000万+人在玩1000万+人在玩1000万+人在玩500万+人在玩
移动云信app相关推荐
发现该应用有下载安装使用错误或恶意扣费携带病毒,请
版权所有 京ICP备号-5
京公网安备 50 备好评:67.77%
坏评:32.23%
移动云信app是一款便捷的全球化生活应用、社交服务软件,移动云信app让你结识来自世界各地的朋友,与他们友好交流,还有金融理财、全球漫游等特色功能,致力于让用户们体验优质的智能生活乐趣。新云网带来了移动云信安卓版下载,欢迎体验!
移动云信app是一款国际化的综合应用软件,涵盖智能生活,社交聊天,金融理财,电子商务,物联网等,它能帮助你认识来自全世界的朋友,全球漫游功能让你快速发现附近优质的朋友,通过移动云信让我们生活充满智能乐趣
发现:找朋友从未如此便捷
强大的&全球漫游&搜索功能&&帮你轻松搜索到散落在你身边以及地球各个角落的有趣的人和事,让你不会错过一分一秒的精彩。
畅聊:交谈从未如此有趣
多样的消息类型&&支持在聊天时发送文本、语音消息、阅后即焚,照片以及多种多样的贴纸,聊天从此开始充满乐趣。
分享:让更多人了解最美的你
结识来自世界各地的新友人,找到和你说相同语言的人
(目前我们已经支持英语、简体中文、繁体中文、阿拉伯语、西班牙语、俄语、葡萄牙语、法语、德语、土耳其语、泰语、印尼语、越南语、马来语、日语和韩语等等)
下载移动云信安卓版 1.1 官网手机版
其他下载地址:
每周酷软件推荐
27.47 MB/ 简体中文乐蜂网Android客户端是乐蜂网专门为Android用户量身订制的免费购物软件,与乐蜂网商品库实现全线对接,每天为手机用户...
软件排行榜
12345678910
热门关键字
关注新云安卓游戏网奥卡姆剃刀在这个问题上并非完全不懂行,而是彻底的书呆子。&br&&br&先不举复杂的例子,大家都知道的验证码(Captcha Code)这么个东西,就是很多网页输入页面上的一个看起来比较扭曲的字母数字,以防止程序或者爬虫轻易登录或者访问。&br&&br&个中原理足够简单,一般而言也足够防范没有OCR能力的爬虫程序。但是给大家看下&a href=&///?target=http%3A//www.indianrail.gov.in/pnr_Enq.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&印度铁道部网站&i class=&icon-external&&&/i&&/a&上的一个的奇葩实现。&br&&br&&img src=&/a315fd4e6d8f17b5aa82_b.jpg& data-rawwidth=&251& data-rawheight=&134& class=&content_image& width=&251&&不知道大家注意到没,这个验证码实际上不是图片,而是真正的文字,可以选择然后copy/paste的。&br&&br&更搞笑的是,他们把这个值直接包含着网页的源代码里。&br&&br&&img src=&/27f8f79d1edbe196aadacd89_b.jpg& data-rawwidth=&659& data-rawheight=&413& class=&origin_image zh-lightbox-thumb& width=&659& data-original=&/27f8f79d1edbe196aadacd89_r.jpg&&所以这是世界上对爬虫最友好的验证码,而且在印度铁道部网站上挂了至少一年多了都没改。&br&&br&这个例子说明什么呢?&br&&br&&b&就是再好的技术规范也是要人来实现和遵守的,而人当中是有傻B的!&/b&&br&&br&回到剃刀的观点,他认为只要用银行的手机网银客户端,同时使用HTTPS和银行的服务器通讯,那么即便连接黑客搭设的WIFI也是安全的。真的是这样么?&br&&br&HTTPS作为标准本身的确足够安全,但是你能保证在程序中实现这个标准的人或者机构足够靠谱吗?食品国标还足够严格呢,但是三鹿和福喜咋回事?&br&&br&&a href=&/people/virusdefender& class=&internal&&virusdefender&/a&的回答里已经给了一个&a href=&///?target=http%3A///%3Fp%3D208& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&某手机银行被中间人劫持攻击的实际案例&i class=&icon-external&&&/i&&/a&,以及腾讯安全中心的这篇文章 &a href=&///?target=http%3A///index.php/blog/msg/41& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&窃听风暴:Android平台HTTPS窃听嗅探劫持漏洞&i class=&icon-external&&&/i&&/a&。&br&&br&简单的说,就是只要你用这个手机连上了一个黑客开设的公开WIFI,然后打开网银客户端(没错是客户端),因为客户端虽然通过HTTPS访问银行网站,但此时的银行网站完全可能是伪造的(因为WIFI被黑客控制,DNS解析什么的都不在话下),理论上HTTPS协议要求核对网站服务器的数字证书来验明身份,但是,这些客户端的实现代码里忽略了这一步,也就是说证书不对或者过期都没关系,客户端照样连接。&br&&br&接下来就是典型的中间人攻击——黑客伪造的服务器面对网银客户端充当服务器,而同时又冒充客户端访问真正的银行服务器,因为客户端已经相信并接受了虚假的证书,于是用这个假证书中的公钥来对数据进行加密,由于解密用的私钥就在黑客手上,因此这个加密过程对黑客而言是完全透明的。然后黑客程序将数据解密成明文后,进行替换或者伪造等进一步的加工,再和真正银行服务器进行通信,就能干很多事情了。&br&&br&这个原理对于很多安全领域从业者而言其实是常识!为什么呢,因为绝大部分的企业用杀毒软件,都是一个合法的中间人,没错如果你的公司装有企业级杀毒软件,那么你的所有HTTPS请求数据理论上公司都看得到,而且这么做不仅在中国,在美国都是&b&完全合法&/b&的,因为你用公司的电脑和网络,照道理就不该有隐私。&br&&br&作为我此言不虚的旁证,虽然我现在是个做英语教育网站和APP的,但也曾经在趋势科技研发中心打过两三年酱油,亲手做过Proxy端替换证书来对HTTPS数据进行解密然后扫描(病毒什么的)这种完!全!合!法!的事情。安全方面的知识我如今已经是弱不禁风,但是我大体能想象跟剃刀斗嘴那帮大神的水平(下限)——当他们说行的时候,你还是相信比较好。&br&&br&说到底网络环境是很险恶的,大家用盗版操作系统瞎刷来路不明的ROM已经毫无压力(天知道里面会预装什么)了,提醒你不要用公开WIFI,或者至少不要在这种情况下用网银,等于提醒你在一个盗匪横行的街区行走别把钱包拿手上一样,但偏有人站出来说大家别怕法律会保护你的人身财产安全!&br&&br&哎~&br&&br&补充:&br&剃刀老师现身评论,可惜思维又跳跃了一下,我希望他认可自己之前所说“只要用银行的客户端通过HTTPS访问就没有安全风险”这样的科普言论的不严谨之处,目前还没有收到他正面回复。&br&&br&&img src=&/92df73abaf47cdfc9fb33bd5a3b8d8fc_b.jpg& data-rawwidth=&596& data-rawheight=&112& class=&origin_image zh-lightbox-thumb& width=&596& data-original=&/92df73abaf47cdfc9fb33bd5a3b8d8fc_r.jpg&&&img src=&/b841a3cf4db74ceafeec_b.jpg& data-rawwidth=&594& data-rawheight=&134& class=&origin_image zh-lightbox-thumb& width=&594& data-original=&/b841a3cf4db74ceafeec_r.jpg&&
奥卡姆剃刀在这个问题上并非完全不懂行,而是彻底的书呆子。 先不举复杂的例子,大家都知道的验证码(Captcha Code)这么个东西,就是很多网页输入页面上的一个看起来比较扭曲的字母数字,以防止程序或者爬虫轻易登录或者访问。 个中原理足够简单,一般而言也…
你在中国上大学,学到中国的核心技术了么?
你在中国上大学,学到中国的核心技术了么?
谢 &a data-hash=&dc453f8768974& href=&///people/dc453f8768974& class=&member_mention& data-editable=&true& data-title=&@刘巍然-学酥& data-hovercard=&p$b$dc453f8768974&&@刘巍然-学酥&/a&&a data-hash=&79b988ec04a51afb1f3ea& href=&///people/79b988ec04a51afb1f3ea& class=&member_mention& data-editable=&true& data-title=&@王希& data-hovercard=&p$b$79b988ec04a51afb1f3ea&&@王希&/a& 邀。&br&深夜和二位大神讨论了一波这个问题,作为打赌连输三次的我滚来答题。&br&&br&&b&一句话结论&/b&&br&存在,但是几乎无法构造出安全的加密算法。&br&&br&&b&简单解释&/b&&br&首先值得注意的是,魔方的转动本质上可以表示为一个张量或者放到一个交换群中表示。所以这是个对称加密方法,本质上和AES加密的sbox混淆是没有区别的,都是一个单射函数。&br&但是AES并不使用sbox本身作为密钥,而魔方群加密则使用单射函数的分解作为密钥。&br&这也就注定了前者是相对安全的,后者是相对不安全的。&br&&br&&br&&b&魔方群&/b&&br&一般来说,为了构造一个加密算法,我们需要有一定的数学工具来表示我们的算法。对魔方而言,我们可以将对魔方的打乱看做一连串的旋转。我们会发现每次旋转都会把一些颜色块挪到另一个颜色块的位置上去。而且满足下面的性质:&br&&ol&&li&色块的数量不变&/li&&li&每个色块在变换前后都存在唯一的位置,既不会分身也不会消失&/li&&/ol&&b&所以魔方的旋转操作可以表示为一个置换群。&/b&&br&既然他已经是个置换群了,那么就和一般的置换加密没区别了。&br&&b&当然我知道,你肯定还不死心,魔方有神奇的魔法,一定和那些妖艳的密码本不一样。&/b&&br&&br&&br&&b&所以我们来设计一下算法原型:&/b&&br&1 假设一个白色理想三阶魔方,通过往魔方上填写明文然后旋转魔方的方法加密。&br&旋转的时候我们使用标准的记法来表示我们的旋转:&br&R 表示面对右边的面顺时针旋转90度&br&R‘表示面对右边的面逆时针旋转90度&br&同理,L是左面,U是上面,D是下面,F是正面,B是背面&br&&br&比如我们这个可爱的三阶魔方有6个面每个面9个小格子。每个小格子写一个字。一共54个字:&br&&b&“我喜欢一个姑娘,她笑起来很甜,每年我们一起吃一顿饭,聊聊闲天,我以为这样就可以只如初见,但最后还是天各一方。”&/b&&br&然后我们的加密方法是RUUR'U&br&首先我们把他们分组:&br&&br&&p&我喜欢
&/p&&p&一个姑
&/p&&p&娘,她
&/p&&br&&p&笑起来
&/p&&p&很甜,
&/p&&p&每年我
&/p&&br&&p&们一起
&/p&&p&吃一顿
&/p&&p&饭,聊
&/p&&br&&p&聊闲天
&/p&&p&,我以
&/p&&p&为这样
&/p&&br&&p&就可以
&/p&&p&只如初
&/p&&p&见,但
&/p&&br&&p&最后还
&/p&&p&是天各
&br&&br&然后旋转魔方默念咒语:RUUR'U&br&&br&嘛哩嘛哩哄!&br&&br&&p&天一起&/p&&p&一个可&/p&&p&娘,就&/p&&p&们喜还&/p&&p&闲甜,&/p&&p&聊年我&/p&&p&年很笑&/p&&p&吃一顿&/p&&p&饭,聊&/p&&p&就一见&/p&&p&,我以&/p&&p&为这样&/p&&p&欢姑她&/p&&p&可如,&/p&&p&我初但&/p&&p&最后起&/p&&p&是天各&/p&&p&一方。&/p&&br&&p&虽然有点不太好的感觉,但是还是把他们写成一串看看吧:&/p&&br&&p&&b&天一起一个可娘,就们喜还闲甜,聊年我年很笑吃一顿饭,聊就一见,我以为这样欢姑她可如,我初但最后起是天各一方。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&img src=&/d82311b4a_b.jpg& data-rawwidth=&288& data-rawheight=&274& class=&content_image& width=&288&&&br&&p&这加密了个屁啊,孙子辈的都能看出来是个十动然拒的故事了啊。妈的智障。&/p&&br&&img src=&/7bc029a4b04efa7d9dd8_b.jpg& class=&content_image&&&br&&p&首先,密钥的长度太短了,不构成一个有效的加密方法。所以我们换一个长一点的&/p&&p&比如三阶魔方公认的十五步打乱公式之一:&/p&&p&U2 R' D2 F D R' U' D F' L R U' F D' F'&br&&/p&&br&打乱之后就变成了这样:&br&&p&&b&最,饭,个,还,就我吃一放甜一天一欢为闲天一一姑但以出我年样很我喜们是每见只聊各如,娘顿。欢放起这天一我年每&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&p&&b&。&/b&&/p&&br&&img src=&/d82311b4a_b.jpg& data-rawwidth=&288& data-rawheight=&274& class=&content_image& width=&288&&&br&搞毛啊,一眼还是能看出来是个十动然拒的故事啊,一开头那么多一,一看就是个注孤生的故事啊。这特么长了根本没有卵用啊。&br&&br&&b&ops! 无法承受统计攻击&/b&&br&上面这个例子充分体现了置换加密的通病,我们只需要简单地使用统计工具就可以轻松解决掉魔方加密。常见的统计攻击方法比如:&br&频率攻击:就是我计算一下整个文本中的文字频率,再根据常见的词汇组合来还原原文。&br&语义攻击:比如我看见这个句子里都是什么一,喜欢,吃,我,她这样的字眼,很容易就推断出这密码的原文是个吃货十动然拒注孤生的故事。&br&&br&&img src=&/7bc029a4b04efa7d9dd8_b.jpg& class=&content_image&&&br&既然我们已经知道了算法的弱点,小修小补一下是不是就可以了。&br&比如我们&b&使用随机数加密一下原文&/b&再拿到魔方里混淆。&br&听起来不错。&br&比如:&br&&p&Every human being has a basic instinct: to
help each other out.&/p&&p&通过魔方加密之后:&/p&&p&ics uacsievt o hbhere l n hmi nienueoottghht ca:.anytrpsaEba&br&&/p&&p&再用随机字符串加密:&/p&&p&ponattus nnhoha sa a b aaratbr hig uoh ma yhonrs seo o ybiu &br&&/p&&br&&b&哈哈哈哈哈哈!妈妈都认不出来啦!&/b&&br&&br&&b&且慢!&/b&&br&&br&我们需要还原这个密码太复杂了!&br&你看,对方为了解密我们的密码,需要把两个密钥,&br&一个随机串&br&hhiepo oEh.te ap:n ovh i ao h oh abn.mhEcnE s huonmcthn tcr u&br&还有个置换群算子&br&U2 R' D2 F D R' U' D F' L R U' F D' F'&br&特么比原文还长了好吗!&br&&br&仔细一想还的确是这么回事。&br&我要使用魔方加密的话,密钥是旋转动作串。&br&一共有6个面,一正一反一双一共18个动作。&br&精简一下不要180度表示法也有十二种动作,&br&至少要4bit来表示,一个足够强的密串需要15-20次操作,也就是至少60bit。&br&而明文空间只有54bit.....&br&高维度空间的时候只能让这件事变得更糟糕....&br&&br&&img src=&/7bc029a4b04efa7d9dd8_b.jpg& class=&content_image&&&br&我觉得说道这里就已经没救了....&br&毕竟,如果用&br&奇数阶魔方的话中心块是不会变的,&br&偶数阶魔方的话也是存在隠式不变形的。&br&也就是说,&b&魔方置换群甚至不能算作一个合格的置换加密方法。&/b&&br&&br&&br&&br&&img src=&/7bc029a4b04efa7d9dd8_b.jpg& class=&content_image&&但是老师,我还想再给力一点。&b&比如作为一个核把加密算法设计成非对称加密&/b&?&br&同学...你的出发点是好的。但是这样的话我们就面临了两个困境:&br&首先,加密步骤中起到保密作用的是非对称变换,比如离散对数变换,而不是魔方置换群。&br&其次,魔方置换群的密钥长度增加并不能有效地增加加密算法的保密性。&br&毕竟3阶魔方15-20次就已经完全混淆了,4阶需要40-50次打乱。&br&总体上来看,混淆极限是和阶数的平方正相关的。这个增长速度太慢了。&br&&br&&img src=&/7bc029a4b04efa7d9dd8_b.jpg& class=&content_image&&&br&&b&老师,我觉得高维度魔方应该还可以抢救一下&/b&&br&那我们需要把刚才讨论的问题再拿出来说一遍,别的我就不废话了。&br&一句话按死你:&br&随着魔方维度的增长,明文空间的增长速度和一个单元密钥占用空间的增长速度是一致的。最后还会导致总结中的致命缺陷2。&br&&br&&b&总结&/b&&br&使用魔方置换群作为加密算法会面临以下问题:&br&1 置换加密通病&br&2 明文空间有限,密钥比明文长&br&3 置换群存在不变形陷阱&br&4 密钥长度增加并不能有效提高保密性&br&&br&&b&结论&/b&&br&这个加密方法并不安全,用来表白应该不错。&br&&br&&b&延伸阅读&/b&&br&【0】安全性
:&a href=&/question/& class=&internal&&在有限专家间评议加密算法是不是比直接公开更安全? - 网络安全&/a&&br&【1】置换群
:&a href=&///?target=https%3A//en.wikipedia.org/wiki/Permutation_group& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Permutation group&i class=&icon-external&&&/i&&/a&&br&【2】AES加密: &a href=&///?target=https%3A//en.wikipedia.org/wiki/Advanced_Encryption_Standard& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Advanced Encryption Standard&i class=&icon-external&&&/i&&/a&&br&【3】置换加密: &a href=&///?target=https%3A//en.wikipedia.org/wiki/Transposition_cipher& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Transposition cipher&i class=&icon-external&&&/i&&/a&&br&【4】对称加密: &a href=&///?target=https%3A//en.wikipedia.org/wiki/Symmetric-key_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Symmetric-key algorithm&i class=&icon-external&&&/i&&/a&&br&&br&&br&太晚了,我先睡了,想到什么明天再补充好了
邀。 深夜和二位大神讨论了一波这个问题,作为打赌连输三次的我滚来答题。 一句话结论 存在,但是几乎无法构造出安全的加密算法。 简单解释 首先值得注意的是,魔方的转动本质上可以表示为一个张量或者放到一个交换群中表示。所以这是…
你要的PS技术,原理是识别local variance:&br&1. 复制一层&br&2. 高斯模糊 1像素&br&3. 混合模式: difference&br&4. 调个色阶&br&&img src=&/432fe42a84d38b514ed1f_b.png& data-rawwidth=&1965& data-rawheight=&886& class=&origin_image zh-lightbox-thumb& width=&1965& data-original=&/432fe42a84d38b514ed1f_r.png&&&br&还有简单点的PS技术:&br&1. 复制一层&br&2. 混合模式: difference&br&3. 随便哪层往随便哪个方向位移两个像素(可以产生不同的效果哦)&br&&img src=&/8e76b0bde5d91cf446c13d_b.png& data-rawwidth=&1965& data-rawheight=&912& class=&origin_image zh-lightbox-thumb& width=&1965& data-original=&/8e76b0bde5d91cf446c13d_r.png&&&img src=&/c3b9bc6b9a4b8be9cf22b3b60d62cea4_b.png& data-rawwidth=&1966& data-rawheight=&884& class=&origin_image zh-lightbox-thumb& width=&1966& data-original=&/c3b9bc6b9a4b8be9cf22b3b60d62cea4_r.png&&&br&&br&还有再简单一点的PS技术。&br&1. 找到条纹的角度,建立个自定义Edge detection滤镜(比如Prewitt Filter什么的)&br&2. 使用自定义滤镜过滤(其实和上面那个区别不大)&br&&img src=&/1fbeac82ca3aa2a5f100cfabfdd16691_b.png& data-rawwidth=&1965& data-rawheight=&885& class=&origin_image zh-lightbox-thumb& width=&1965& data-original=&/1fbeac82ca3aa2a5f100cfabfdd16691_r.png&&&br&&br&&br&还有更简单的PS技术:&br&1. 使用Dark Strokes滤镜,原理和盖上识别卡一样(简直就是作弊)&br&&img src=&/ab534436caf5c8b929d4_b.png& data-rawwidth=&1626& data-rawheight=&950& class=&origin_image zh-lightbox-thumb& width=&1626& data-original=&/ab534436caf5c8b929d4_r.png&&&br&&br&&br&&br&附带一行code的Matlab技术:&br&&img src=&/9bb73de5c7de0b2cbe34_b.png& data-rawwidth=&874& data-rawheight=&767& class=&origin_image zh-lightbox-thumb& width=&874& data-original=&/9bb73de5c7de0b2cbe34_r.png&&
你要的PS技术,原理是识别local variance: 1. 复制一层 2. 高斯模糊 1像素 3. 混合模式: difference 4. 调个色阶 还有简单点的PS技术: 1. 复制一层 2. 混合模式: difference 3. 随便哪层往随便哪个方向位移两个像素(可以产生不同的效果哦) 还有再简单一…
说个靠谱点的流程吧。我就冒昧地当题主零基础了。可以根据实际情况跳过一些步骤。&br&有问题可以一起交流。&br&&br&day 1-3: 准备。&br&数学方面:&br&需要有一些基本的数论知识。&br&整除。同余。辗转相除法。&br&质数及其基本性质。&br&费马小定理。裴蜀定理。中国剩余定理。&br&还有对概率要有个基本概念。哪些是很大可能的。哪些是几乎不可能的。&br&暂时想到这些。当然数学知识肯定是多多益善。&br&&br&计算机方面:&br&需要掌握异或运算及其基本性质。&br&对算法复杂度有个基本概念就行。big O notation什么的稍微理解一下。&br&最好能编写简单程序。不行的话也没关系。&br&当然很重要的一点。你要大概知道当今计算机的能力上限。&br&也就是说哪些是可以很快算出来的。哪些是不现实的。&br&拿分解质因数来说。你要知道什么样的数是当今计算机分解不了的。&br&个人认为就今天的计算机来说 (今天是。)&br&2的40次方次运算是容易 (easy)。&br&2的56次方次运算是可做 (feasible)。&br&2的64次方次运算是勉强能做 (barely feasible)。&br&2的80次方次运算是不能做 (infeasible)。&br&2的128次方次运算是绝逼不能做 (totally infeasible)。&br&当然仅仅是个人认为。有异议欢迎提。&br&&br&&br&day 4-6: 对称密钥加密 (Symmetric Key Encryption)。&br&掌握以下:&br&1. 对称密钥加密的基本定义。&br&&br&2. 几种经典的加密方式及其破解办法。比如替代密码 (Substitution Cipher)和维吉尼亚密码 (Vigenere Cipher)。&br&&br&3. 一次一密 (One-Time Pad。不是卫生巾!)。&br&需要知道只有一次一密 (OTP)能保证完美秘密 (Perfect Secrecy)。不过不需要掌握证明过程。&br&需要知道重复使用OTP有什么后果。&br&需要知道OTP在实际操作中并没有什么用途。&br&&br&4. 实际应用中的加密方式。&br&算是历史啦。大概了解一下就行。&br&二战期间的:&br&德国人的谜团 (Enigma)还有Lorenz。&br&日本人的紫码 (PURPLE)。&br&还有美国人的纳瓦霍密码 (Navajo Code)。&br&&br&60年代的:&br&Feistel Network (找不到中文)。&br&代换-置换网络 (Substitution-Permutation Network)。&br&还有IBM的路西法 (LUCIFER)。&br&&br&然后就是数据加密标准 (Data Encryption Standard。简称DES。)和高级加密标准 (Advanced Encryption Standard。简称AES。)了。&br&这两个最好重点了解一下。&br&&br&5. 流加密 (Stream Cipher)和块加密 (Block Cipher)的区别。&br&(其实一句话就说清啦。)&br&&br&6. 电码本模式 (Electronic Codebook。简称ECB。)和分组链接模式 (Cipher Block Chaining。简称CBC。)的异同。&br&&br&7. 几种攻击的定义。&br&唯密文攻击 (Ciphertext-only Attack)。&br&已知明文攻击 (Known-plaintext Attack)。&br&选择明文攻击 (Chosen-plaintext Attack)。&br&选择密文攻击 (Chosen-ciphertext Attack)。&br&边信道攻击 (Side-channel Attacks)。&br&物理攻击 (Physical Attacks)。&br&&br&&br&day 7: 休息。&br&&br&&br&day 8-9: 线性密码分析 (Linear Cryptanalysis)和差分密码分析 (Differential Cryptanalysis)。&br&代换-置换网络 (Substitution-Permutation Network。简称SPN。)。&br&线性密码分析的原理及基本过程。&br&如何利用线性关系 (Linear Relations)构造线性逼近(Linear Approximations)。&br&差分密码分析的原理及基本过程。&br&&br&&br&day 10: 流加密。&br&线性反馈移位寄存器 (Linear Feedback Shift Registers。简称LFSR。)。&br&RC4加密算法。&br&&br&&br&day 11: 无线网络安全。&br&大致了解一些标准和协议就行。&br&如IEEE 802.11。有线等效安全 (Wired Equivalent Privacy。简称WEP。)。&br&&br&&br&day 12-15: 哈希函数。&br&哈希函数的定义。&br&抗原像性 (Preimage Resistance)。&br&抗第二原像性 (2nd Preimage Resistance)。&br&抗碰撞性 (Collision Resistance)。&br&哈希函数的常见应用。比如保护密码。(题外话。国内很多网站好像都存密码原文的。这在我看来是不道德的... 按理说应该只存hash之后的才对。)。修改检测码 (Modification Detection Codes。简称MDCs。)。消息鉴别码 (Message Authentication Codes。简称MACs。)。伪随机比特生成。等等。稍微了解一下就行。&br&常见哈希函数。如MD5。SHA1。还有各种SHA系列。&br&详细了解一下SHA1的过程。&br&大概了解几种经典的在哈希函数中找碰撞的办法和流程。不需要学证明。&br&大概了解一下王小云这个人以及她的成就。&br&找到碰撞以后如何利用? 大概了解一下选择前缀碰撞攻击 (Chosen-Prefix Collision Attacks)。还有火焰病毒 (Flame Malware)。&br&大概了解SHA2和SHA3的过程。&br&&br&&br&(我真是说了好多个大概了解...)&br&&br&&br&day 16-17: 消息鉴别码 (MACs)。&br&MAC的定义。&br&一个MAC系统怎样才算安全?&br&MAC的应用。&br&基本的攻击方法。&br&CBC-MAC。&br&如何利用哈希函数构造MAC? 了解一下安全前缀法 (Secret Prefix Method)。安全后缀法 (Secret Suffix Method)。还有信封法 (Envelope Method)。&br&&br&&br&day 18: 认证加密 (Authenticated Encryption)。&br&了解几种可能的策略及其应用。&br&比如&br&MAC-then-encrypt。应用于安全套接层 (咳。注意断句。)和安全传输层 (SSL/TLS)。&br&encrypt-then-MAC。应用于IP安全协议 (IPSec)。&br&encrypt-and-MAC。应用于安全外壳 (SSH)。&br&如果可以的话最好从理论角度详细了解一下几种策略的过程。&br&&br&&br&day 19: 公钥加密 (Public-Key Encryption)&br&思考对称密钥加密的缺点。&br&理解并掌握公钥加密的定义及过程。&br&&br&&br&day 20-23: RSA加密算法。&br&希望这块学得详细点。因为真的很酷。应用也非常广。&br&数学底子好的话。最好是自己证明加密和解密的过程。&br&喜欢编程的话。可以自己写程序试试分解大数。看看到什么级别就分解不动了。&br&&br&&br&呀。要出门了。后边的简略说吧。&br&&br&&br&day 24: Diffie-Hellman和Elgamal算法。 &br&这个也很重要的。至少了解一下。&br&&br&day 25: 电子签名 (Digital Signatures)和数字证书 (Digital Certificate)。&br&看到很多网站地址栏边上的小锁了么?&br&&br&day 26: 椭圆曲线算法 (Elliptic Curves)。&br&这个强度比RSA还厉害。但我觉得纯从数学角度讲没RSA美。&br&&br&&br&嗯。到这儿应该算是&入门&了吧。后面几天选读吧。也可以巩固一下之前的。&br&&br&&br&day 27: 硬件实施 (Hardware Implementations)。&br&&br&day 28: 量子密码学 (Quantum Cryptography)。&br&&br&day 29: 边信道攻击 (Side-channel Attacks)。&br&好多方法真的闻所未闻。想都想不到。感兴趣可以了解一下。非常有趣。&br&&br&&br&好了。一个月以内。&br&&br&&br&&img src=&/f114f4d541dc00fb3b2b2_b.png& data-rawwidth=&1567& data-rawheight=&888& class=&origin_image zh-lightbox-thumb& width=&1567& data-original=&/f114f4d541dc00fb3b2b2_r.png&&&br&&br&&br&&br&嘻嘻。先说这么多。&br&纯手打。希望不要有错字。
说个靠谱点的流程吧。我就冒昧地当题主零基础了。可以根据实际情况跳过一些步骤。 有问题可以一起交流。 day 1-3: 准备。 数学方面: 需要有一些基本的数论知识。 整除。同余。辗转相除法。 质数及其基本性质。 费马小定理。裴蜀定理。中国剩余定理。 还有对…
科学家:我们在特定条件下,通过静脉注射药物使小白鼠尾部的某种癌细胞活性下降了5%。&br&媒体:科学家攻克癌症了!人类的希望!&br&&br&Hashcat:我们改进了密码破解工具,支持的最大密码长度由15位升为55位。&br&媒体:噢!55位以下的密码都不安全了!我们的账号马上就会被盗走了!&br&&br&网络安全是个值得重视的问题,但需要担心的不是一个工具破解多少位密码,更不是拿一些断章取义、耸人听闻的消息来吓人。&br&&br&&br&先澄清一下问题中最唬人的“每秒80亿个密码”,不是某些人想象中的每秒破解掉80亿个账户的密码,也不是每秒跑到网站上去试80亿次你的密码——你受得了网站还受不了呢。实际情况一般是这样的:破解者从某些渠道搞到了一大批用户名和hash后的密码,然后打算破解出原始密码,这样就能直接拿来登录网站了。&br&hash也叫哈希函数或散列函数,就是把你的原始密码拆散组合计算后变成一大串乱码,肉眼绝对看不出来原来是什么内容,常用的hash算法有md5、sha1、sha256等。&br&假如你的密码是“123456”,那么它md5的结果就是“e10adc3949ba59abbe56e057f20f883e”。&br&而且只要原文稍有变动,md5结果就会彻底变化。&br&比如“123455”的md5结果是“00c66aaf5f2c3fad2ea0d3”,跟上面的没有半个字相同。&br&网站的数据库里不会存放你的“123456”,只会存这堆字符,就算被人把整个数据库拖走,也没法直接拿你的用户名和密码登录网站,必须要进行破解。&br&&br&而且所有的hash都有个特点,就是无法反推出原文。道理很简单,比如md5的长度是固定的32位,所以它的数量是有限的,而原文要多长有多长,数量是无限的,从个位数到几十G的大文件都能hash成32位的字符串。有限个对上无限个,总会有重复,所以理论上hash无法真正破解,因为一段密文对应了无数原文。但反过来想,只要找到这无数原文中的任何一个,就等于找到原始密码了。&br&假设我得到了某段md5密文,经过数百上千亿次尝试后终于试出某个字串,它的md5结果也是这段密文,这种“破解”方法的学名叫碰撞(collision)。而碰撞出来的字串此时等同于原始密码。&br&&br&上面说的“每秒80亿”,其实就是oclHashcat-plus用暴力破解时计算hash的最高速度,它用的是显卡GPU不是CPU,因为现在显卡的性能比CPU强多了。&br&看上去快得吓人,实际没那么厉害,要知道8位大小写英文加数字的密码一共有多少种?&br&(26+26+10)的8次方,2183401亿。每秒80亿次的话,7.5小时才能试完一个。&br&密码长度加一位,时间至少增长62倍。如果密码里还有各种字符,那时间就更长了。&br&想想55位的密码要多久才能破?还没算到百万分之一,想登录的网站都倒闭了。&br&&br&&br&不过且慢,尽管暴力破解要费很长时间,这并不代表你的账户密码从此安全了,黑客也没那么蠢,只会傻乎乎地一个个硬算密码,人家有的是方法:&br&&ol&&li&字典:绝大部分普通用户的密码简单得令人发指,纯数字、生日、名字、单词、拼音……把这些东西排列组合在一起,做成一个密码字典,计算量比直接暴力破解少了几个数量级。某人拿到了100万个hash,假如纯暴力破解要一年,那用字典可能两小时就破解出了80万个,剩下的可以整理出来再去用别的方法破,反正手头已有的80万个账号密码想干啥干啥。&/li&&li&彩虹表:毕竟不是什么密码都能放到字典里,稍微复杂的就不行了,最终还是得靠暴力。有人想出了提升效率的方法,就是空间换时间,不用你一个个当场hash,而是提前算好,存到一张巨大的表里,破解时只查不计算,速度有了极大飞跃。使用彩虹表进行破解,普通PC也能达到每秒1000亿次以上的惊人速度。&br&而且许多网站为了增加安全性,不会简单地做一次md5就保存到数据库。比如md5后再md5一次;或者在原始密码前后补上一串字符,增加密码长度后再hash,学名叫加盐(salt);这些算法的结果都可以加入彩虹表中。网上公开了数百G的彩虹表供下载,花一星期下载它比自己花几个月算出来可合适多了。最完善的彩虹表差不多能破解出目前网上99.9%的密码。&/li&&li&高性能电脑和集群:前面说的每秒80亿次是一块顶级显卡的速度,但最新版oclHashcat-plus已经支持最多128个显卡核心。这张图是Hashcat团队的电脑,计算核心是8块HD7970显卡,总价上万美元:&img src=&/64c45a7d5cc4f38f42db3afa4e53d33c_b.jpg& data-rawwidth=&816& data-rawheight=&620& class=&origin_image zh-lightbox-thumb& width=&816& data-original=&/64c45a7d5cc4f38f42db3afa4e53d33c_r.jpg&&&/li&&br&它的速度有多快?反正我尝试用自家电脑运行oclHashcat-plus暴力破解一个8位的、字母数字符号混合的密码预计需要29天,而这台只需要不到12小时。&br&但它再强也只是单台电脑,顶级黑客拥有的集群计算资源包括肉鸡等等,辅以前面讲到和没讲到的各种算法,破解几千万甚至上亿的密码并不难想象。另一个问题&a href=&/question/& class=&internal&&如何分析《中国黑客传说:游走在黑暗中的精灵》文章内容的真实性?&/a&中提到顶级黑客手中有十几亿条账号密码、用云计算破解hash,虽然我不认识人家,但这些技术的可行性当然是确凿无疑的。&br&&li&上面说的都是黑客一方拖走别人数据库后进行的破解,要知道,拖库本来就是通过漏洞和入侵才能进行的。如果服务器安全做得好,黑客很难拿到用户数据;但如果网站方自己不上心,后门漏洞一大堆,四五流的黑客都能在里面逛大街,那你的账号密码基本上就难保贞操了。&br&甚至有更愚蠢的事件:比如前两年CSDN论坛900多万用户数据泄露,密码居然是明文存储、连一次hash都没做——这件事实在颠覆我的世界观,要知道它可是个程序员网站——遇到这种事,只好自认倒霉,去别的网站改掉同一个密码吧。&/li&&/ol&&br&一开始觉得问题中的消息太断章取义,本想简单解释解释,说明它没这么可怕。结果越写感觉越会让不明真相的群众更担心“黑客好像随手就把我的密码拿走了救命啊啊啊啊”。这个……还是总结一下吧:&br&&br&所谓“密码破解器支持每秒80亿个最多55位的密码”并没有惊天动地的大意义,虽然它能使现在最高配置的个人电脑达到十几年前超级计算机的破解效率,但尚未从量变引发质变。而且更重要的是怎么侵入数据库得到hash过的密码,这个的技术含量和危害程度才高,至于弄出来之后怎么破就是另一个问题了。&br&对普通网民来说,顶级黑客的能力确实惊人,但做什么事都要考虑代价,正如美国的核弹头不会瞄准隔壁老王家窗户,能入侵整个阿里巴巴的黑客也不会花大精力去偷你支付宝里的几百块钱。与其担心存放在网站的数据被大盗弄走,不如平日加强自己的安全知识,避免那些水平不高但行为恶劣的小贼,比如植入木马、上传私人数据、偷微博账号发垃圾消息……&br&&br&自己不是搞安全的,只能讲点粗浅入门知识,如有错误请见谅并指正。&br&&br&&br&对了最后再说一点,如果不是专业黑客,那oclHashcat-plus的最大作用之一可能是破解邻居的wifi密码……它绝对比某些一键式破解工具快,缺点是你得自己抓wpa握手包。
科学家:我们在特定条件下,通过静脉注射药物使小白鼠尾部的某种癌细胞活性下降了5%。 媒体:科学家攻克癌症了!人类的希望! Hashcat:我们改进了密码破解工具,支持的最大密码长度由15位升为55位。 媒体:噢!55位以下的密码都不安全了!我们的账号马上就…
有的,至少曾经有过。&br&我来讲一个名叫「Red Herring」的徽章的故事吧。&br&&img src=&/v2-7c87d744a3d9d8dc86580b_b.png& data-rawwidth=&948& data-rawheight=&175& class=&origin_image zh-lightbox-thumb& width=&948& data-original=&/v2-7c87d744a3d9d8dc86580b_r.png&&&br&让我们回到15年的圣诞特惠。&br&当时官方为了烘托气氛,放出了一系列官方漫画,其中第一天的漫画是这样的:&br&&img src=&/v2-baebc13ded534c441d87bd_b.jpg& data-rawwidth=&940& data-rawheight=&1265& class=&origin_image zh-lightbox-thumb& width=&940& data-original=&/v2-baebc13ded534c441d87bd_r.jpg&&&br&当然,这已经是彩蛋结束后的新版本了,在这幅漫画刚放出来的时候,画面上除了这个酷似《杀手:代号47》的大光头主角以外,还有一个条形码。&br&故事就是从这个条形码开始的——它的存在的确有些突兀,而且三天后就被官方从漫画中回溯迭代,彻底消失了,因此当时Reddit上出现了大量的讨论。&br&&br&而把这些讨论推向第一个高潮的,是一位叫做Neon Scalar的用户在Steam商店页面发掘出了一段隐藏JS脚本。&br&这个脚本其实很简单,就是你在任何商店页面用键盘输入Search这个词,会弹出如下对话框:&br&&img src=&/v2-de8cc6bc4ebc7cfc5fb7524c_b.png& data-rawwidth=&360& data-rawheight=&184& class=&content_image& width=&360&&(现在脚本已经失效啦,不用再尝试了)&br&&br&一个能扫出密码的条形码,一个能输入字符的接入口——你们想到了什么?&br&于是有玩家便试了试,发现只有在《杀手:代号47》这个游戏的对话框里,输入扫码得来的那串神秘数字,才会有返回的结果。&br&而返回的结果也是一串神秘的字符,「ic/4f21ca7」。&br&到了这一步,国内外的玩家们几乎都确定了,这是V社为了本次夏促所埋下的彩蛋解密游戏。&br&&br&后面的事情就如水到渠成一样——&br&有玩家发现了在漫画的网址后面加上这串字符后会跳到一个新的页面:&br&&img src=&/v2-1d194bd5b57e5df37d87e_b.png& data-rawwidth=&401& data-rawheight=&14& class=&content_image& width=&401&&&br&(当然这个页面现在也关闭了)&br&这个页面提供了一段音频内容,「I was on the right track, I could feel it. Tomorrow, I was going to search again.」(我知道的思路是正确的,明天我还要再来进行一次搜索。)&br&&br&又有玩家发现,漫画里多次提到了「Blitzen Incident」这个词,于是第二天就拿去在商店页面搜索。&br&本来不存在叫这个名字的游戏,搜索应该不会返回任何结果的,可是它却意外地返回了一个结果:游戏《Grim Fandango Remastered》。&br&&br&好吧,解密再开。&br&在《Grim Fandango Remastered》的商店页面通过对话框输入第六篇漫画里的密码「Hot toddies and maseratis」,跳转到游戏《传说之下》。&br&然后大多数玩家就被卡在了这里,直到另一段音频的出现。&br&&br&发现第二段音频的过程和之前无异,其内容是「I've been to Lima four times, stayed at all the best hotels. I used to go to dance halls and tango with Mary Carmen until the sun came up. The bravos and accolades would echo and echo until the boys in uniform shut us down.」&br&里面有几个词是特意加重了语气的,「Lima four times」、「hotels」、「tango」、「bravos」与「echo and echo」……&br&那让我们把首字母都取出来看看如何呢?L重复四次,H一次,T一次,B一次,E两次,能组成的词语只有一个了——「Bullet Hell」。&br&回到《传说之下》商店页面,输入回车一气呵成,果断跳转到了最终的界面,游戏《Ikaruga(斑鸠)》。&br&&br&接下来就是最终密码的发现了——这部分简直难到逆天。&br&首先,圣诞第七号卡牌上面有一些奇怪的符号:&br&&img src=&/v2-bcc4daae8bbb2edfb8a9c7_b.png& data-rawwidth=&313& data-rawheight=&54& class=&content_image& width=&313&&&br&很快被玩家证实是游戏《Dungeon Master》的字符,对应出来的结果是:LO+YA+GOR+KU,即「loyagorku」。&br&同样,丢入漫画网址的后缀里面,得到最后一段音频,日语的「忘られた道が障害と報酬に繋がります」。&br&接下来进入玄学时间,由于各种尝试都碰壁了,有玩家直接狠毒地分析了它的声谱,冥冥中得到了启示:&br&&img src=&/v2-a9f0dccc2f5e53c1daab85ceafa02387_b.png& data-rawwidth=&326& data-rawheight=&230& class=&content_image& width=&326&&&br&&b&(我真的真的不懂他是怎么看出来的)&/b&&br&「1v7531」&br&&br&最后,在《斑鸠》的页面输入密码,便得到了最后的大奖——徽章「Red Herring」。&br&&br&然而,很多玩家猜测这个游戏并没有就此完结。&br&「Red Herring」在英语俚语中有「顾左右而言它」的意思,更何况有一些线索的指向十分可疑,比如下面这副背景:&br&&img src=&/v2-1e6d68afacd0b0addacf7_b.jpg& data-rawwidth=&865& data-rawheight=&405& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-1e6d68afacd0b0addacf7_r.jpg&&以及最终密码「1v7531」在小键盘上的分布:&br&&img src=&/v2-c6fbc38dd5d3993568fe_b.png& data-rawwidth=&600& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-c6fbc38dd5d3993568fe_r.png&&&br&……&br&那么问题就来了——&br&为什么16年的夏促就这么毫无诚意啊?&br&&br&扩展阅读:Reddit上的事后总结&a href=&///?target=https%3A///r/steamsaledetectives/wiki/timeline& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&timeline - steamsaledetectives&i class=&icon-external&&&/i&&/a&
有的,至少曾经有过。 我来讲一个名叫「Red Herring」的徽章的故事吧。 让我们回到15年的圣诞特惠。 当时官方为了烘托气氛,放出了一系列官方漫画,其中第一天的漫画是这样的: 当然,这已经是彩蛋结束后的新版本了,在这幅漫画刚放出来的时候,画面上除了…
这个需要的作为专业人士登场了,清清嗓子,嗯!&br&&br&首先,反对目前排名前几名的答案,尤其是lovny同学以及Rix tox 同学的方法(注:为了提高B格)&br&&br&作为一个当年专注上课传纸条并且后来大学投身信息安全方向的孩子,很有必要向大家想进行一些科(zhuang)普(bi)教(zhi)育(dao)&br&在搞清楚怎么办之前,有几个问题是首先要搞清楚的&br&&b&1 什么是中间人攻击?&/b&&br&&blockquote&当主机A、和机B通信时,都由主机C来为其“转发”,而A、B之间并没有真正意思上的直接通信,他们之间的信息传递同C作为中介来完成,但是A、B却不会意识到,而以为它们之间是在直接通信。这样攻击主机在中间成为了一个转发器,C可以不仅窃听A、B的通信还可以对信息进行篡改再传给对方,C便可以将恶意信息传递给A、B以达到自己的目的。&/blockquote&通俗点儿说,就是你A通过你的好基友/小伙伴C向你的早恋对象B传小纸条,结果你的好基友/小伙伴C居然偷看你们的文字内容,甚至伪造你们传递的纸条,比如你给B写了一张纸条:&br&放学一块走,我们一起去吃麻辣烫,然后散会儿步回家,千万别给老师看见了&br&然后C获取了你的消息之后写了这样的一张小纸条转发给B的:&br&放学我去玩PS2,你自己回家吧&br&然后你的小女友B看了之后自然很伤心,回复:&br&你不是答应过我要陪我回家的吗,为什么要自己去玩游戏&br&结果C却自己重新写了一张小纸条给你:&br&不,我要和小明一起去吃饭!&br&于是,你的伤心欲绝,你的小女友也是,你们之间产生了深刻的误会却双方改不知情,最后你的小伙伴成功横刀夺爱,你却一无所知。&br&好的,看来你应该对什么是中间人攻击已经有了一个大概的了解了。&br&&b&2 课堂上你具有什么样的条件?&/b&&br&所以什么回答封口蜡的同学可以退下了,你要是在课堂上又是点火又是玩蜡烛的,妥妥要被请家长的啊&br&回答直接传递的同学也可以退下了,要知道距离稍微远一点儿的情况下,直接抛投带来的风险就远大于中间人攻击带来的风险了!&br&不过,计算器还是可以有的!毕竟在课堂上搞搞数学运算一般还是比较安全的。&br&&br&&b&好的,下面开始正式的【小纸条防中间人攻击教程】&/b&&br&其实,这个问题分为两个部分&br&1 确认对方身份,同时交换密钥,也就是确认文字内容的确是发自发纸条的人而不是中间人&br&2 加密解密,也就是让纸条的内容中间人看不懂,而对方却能解密后看懂&br&&br&&b&针对1 确认身份,有几个方法&/b&&br&1 也就是最简单的——通过字体和签名来判断。也就是数字签名&br&不过这个在实际的操作上有个难点,也就是有的时候字对于非专业人士不是非常好识别,尤其是如果字比较丑,丑得又比较平庸的话...&br&2 特征值&br&找一个双方都知道且第三方不知道的问题作为识别码&br&当然,为了防止中间人攻击,你需要有点儿技巧。&br&&b&栗子1&br&你知道她的生日是6(a)月20(b)日你的生日是5(c)月3(d)日,【而中间人不知道至少是不完全知道】&/b&&br&然后你的第一张纸条就可以这样提问了:&br&请回复我两个数字&br&第一个数&br&你的生日的月份数乘上我的生日日期数加上你的生日日期数乘上她的生日月月份数(ad+bc)&br&第二个数&br&回复1-4这四个数中的一个x,我们就取abcd中第x大的数作为我们的密码(对称通信密钥)&br&好的,&b&如果你最后收到的第一个数字是118话那你就可以肯定身份了,同时也获得了第二个数字2,也就是加密密钥6&/b&,这样即使中间人看到了所有的内容,依然无法知道你们通讯的密钥是什么,而如果他篡改了当中的信息,则会立刻被识破&br&栗子2&br&&b&你家的门牌号是83她家的门牌号是62,,【而中间人完全不知道】&br&&/b&&br&类似的,第一个纸条你可以这样写&br&请回复我两个数字&br&第一个数&br&请回复我们的门牌号的乘积&br&第二个数&br&回复1或者是0中的一个数,如果是0的话则以这两个数字中的偶数为加密密钥,如果是1的话则以奇数为加密密钥。&br&推断也同上,一个数字用于身份判断,一个数字用户密钥交换&br&&br&&b&当然,值得注意的是,有一个原则务必在上课前确定好,那就是无论如何不能将密钥在纸面上写出来,这样防止中间人通过更改表达方式的途径来骗取密钥。&/b&&br&&br&2 好的,现在你们已经拥有了一个安全密钥了,现在你所需要做的就是利&b&用这个安全密钥来加密解密了&/b&。&br&这里的加密解密实际上就是一个算法。&br&有很多很多算法可以用来借鉴,为了方便考虑,举几个安全性相对而言不是那么高的但是课堂上传纸条绝对够用的栗子:&br&&b&栗子1 简单易懂间隔取字法&/b&&br&放学一块走,我们一起去吃麻辣烫(请原谅我偷懒缩短一下内容...)&br&使用的加密密钥是6&br&于是我们从头开始每6取一个字(包括符号),同时在原句中划掉。到头后循环回来。&br&大致的过程应该是&br&&blockquote&原文:放学一块走,我们一起去吃麻辣烫&br&密文:,&br&原文:放学一块走我们一起去吃麻辣烫&br&密文:,吃&br&原文:放学一块走我们一起去麻辣烫&br&密文:,吃一&br&原文:放学块走我们一起去麻辣烫&br&.....&/blockquote&于是,你最后得到的密文就成为了:&br&,吃一起学一块烫麻去辣走放们我&br&解密方法反推之就可以&br&&b&栗子2 万能的二进制选字法&/b&&br&放学一块走,我们一起去吃麻辣烫,然后散会儿步回家,千万别给老师看见了&br&使用的加密密钥为你家的门牌号83&br&首先,将门牌号转化为二进制&br&1010011&br&然后,加密开始,汉字和二进制数字分列两行,一一对应,然后1就取,0就不取&br&为了方便演示,我在word里面排了一下版截了个图放上来,其实在纸上做这些运算还是蛮方便的&br&&img src=&/d1fbf2ae343f_b.jpg& data-rawwidth=&326& data-rawheight=&362& class=&content_image& width=&326&&于是你最后得到了密文:&b&放一,我学走起去块一辣烫们麻吃&/b&&br&&br&解密的方法也就是按照加密方法逆推&br&&br&&b&如果还想增加加密强度,还可以考虑对密文再进行一轮加密,当然解密的难度也会随之有所提高。&br&考虑到实际的情况,以上的加密方法都没有将汉字转化为诸如二进制编码之类进行处理,基本上都是基于汉字的排序变化&br&无论如何加密,对于短文字的加密效果都是很糟糕的,因为很容易通过汉字本身去拼凑内容!&br&比如如果你的纸条内容是 好的呀 ,无论怎么改变汉字排序,别人都会轻易的知道被加密的内容。但是这样的加密方法对于长原文而言在限定的条件下还是可行的。&br&密码学,或者说是信息安全领域当中有个基本原则——信息的生存周期小于破译周期,对于一堂课来说一个50字左右的密文针对没有专业计算设备的用户已经完全可以达到加密效果了。&/b&&br&&b&同时这样的加密价值还体现在针对有一定长度的文字上面,尤其是具有一定的判断语句上面。比如说“今天放学我们一起吃饭,然后一起写作业,不去打球也不去玩游戏了了。”通过加密之后就无法获取准确信息了!&br&&/b&&br&---------------------------2月2日补充-增加校验机制---------------------------------&br&感谢 &a data-hash=&ace55bee53f65086ccd880bf9c94018e& href=&///people/ace55bee53f65086ccd880bf9c94018e& class=&member_mention& data-editable=&true& data-title=&@朱晋玄& data-tip=&p$b$ace55bee53f65086ccd880bf9c94018e& data-hovercard=&p$b$ace55bee53f65086ccd880bf9c94018e&&@朱晋玄&/a& 的提醒,在之前的方法都只是针对信息传输的安全性,也就是不会被破译,但是可能存在有中间人在不知道真实信息的情况下让传输的信息产生变化从而达到干扰信息的目的,&b&比如将早上的早改成晚上的晚,比如把数字9改成数字8等。&/b&对于这样的问题,就需要使用到密码学中的另外一个知识了:校验码。&br&这里给出两个类型的可以用于这种条件的校验码方案,只做例子,当中的具体参数都是可以用于配制的&br&1 通过拼音声调设置校验码&br&我们决定将第一声对应数字1,第二声对应数字2,第三声对应数字3,第四声对应数字4,轻声对应数字0,将每3个字(标点符号不算)设为一个最小单元,计算小单元总对于数字的综合写在每第三个字后面,作为效验码【数字同理,如69理解为 六九两个汉字标注音调,为了方便区分校验码和数字之间的区别,可以考虑采用一定的特殊写法区分,本文的示例为增加下划线】&br&增加了效验码之后的原文就变成了&br&&b&放学一&u&7&/u&块走,我&u&10&/u&们一起&u&7&/u&去吃麻&u&7&/u&辣烫&/b&&br&然后再对新的原文进行加密&br&加密之后改变任意一个字,只要音调改变了验证码就会不相符&br&如果想要提高检验的精度还可以增加验证码的取的频率&br&这个的缺点就是如果攻击者发现了验证的方法可以通过修改为相同声调的字来实现躲避验证码,因此从安全性的角度而言比较推荐下面的验证方法&br&2 通过笔画数置校验码&br&其实很简单,就是上面的验证逻辑从声调改为了字的笔画数,如果是数字的话就直接取数字本事作为笔画数。&br&这样的好处是很难被攻击(因为相同笔画的汉字毕竟找起来还是很麻烦的),坏处是....数笔画还是有点儿麻烦的,以至于我决定不在这里放栗子了!&br&&br&&b&以上两种方法都可以视作抛砖引玉,希望大家主要还是领会精神,尤其是这个效验码的思想&/b&&br&-------------------------------2月2日补充完毕----------------------------------------&br&&br&&br&&b&总结:&/b&&br&&b&课堂上传纸条防中间人攻击约等于在不安全的通信网络上确认对方身份同时进行安全的信息传输,几个重要的点是&/b&&br&&b&1 确认对方的身份(使用的方法:身份认证机制,数字签名方法)&/b&&br&&b&2 在不可靠的网络上传输可靠密钥(参考方法:&a href=&///?target=http%3A///link%3Furl%3DyDw7RjP6TH_LZU-7ZTXtPdBRSLEPNEV0n2thHt9xvNtqZnRlElUxj2jIhIlzPnVW& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Diffie-Hellman_百度百科&i class=&icon-external&&&/i&&/a&)&/b&&br&&b&3 使用密钥进行加密解密&/b&&br&&u&2月2日补充,这里的加密解密严格来说包括两个方面,一个是保障传输内容的安全性(即不被破译),另外一个是保障传输内容的有效性(即不被篡改)&/u&&br&&br&关于题主在题目中补充的 RSA 之类的非对称加密方法,在这个“课堂,学生,有限条件,有限知识”的情况下几乎是不可能办到的,单单汉字转编码这一步就足够了..&br&&br&我居然已经这么一本正经的回答了这么多了!!
这个需要的作为专业人士登场了,清清嗓子,嗯! 首先,反对目前排名前几名的答案,尤其是lovny同学以及Rix tox 同学的方法(注:为了提高B格) 作为一个当年专注上课传纸条并且后来大学投身信息安全方向的孩子,很有必要向大家想进行一些科(zhuang)普(bi)教…
&p&&b&先说结论:题主设计的算法是没有应用价值的,但思路有可取之处。&/b&&/p&&br&&p&现代密码学中的加密算法可以分为两大类,&b&分组加密&/b&和&b&流加密&/b&。分组加密例如DES、AES等等,是用同一个密钥对数据分块加密。而流密码例如RC4、RC5等,是通过一个&b&流密钥发生器&/b&,不断产生新的密钥流,然后与原数据做异或运算实现加密。题主设计的这个算法,其实就是流密码的思路。这一点目前所有的回答都没有指出,我感到非常的意外和困惑。&/p&&br&&p&题主的这个算法不具有实际意义的原因,大家基本都已经说得比较清楚了。那就是你&b&无法有效地计算一个无理数&/b&。让我们来看一则新闻:&/p&&blockquote&Yahoo科技公司的尼古拉斯·苏使用Yahoo的Hadoop云计算技术将以前的π值计算的记录位数整个翻了一番,达到2千万亿位,这次计算在Yahoo公司1000台电脑上运算了23天,相当于单台电脑运算500多年的工作量。&/blockquote&&p&听起来好厉害,我们看看这个数有多长,2,000,000,000,000,000位,好厉害,假设加密一个字节用1位,可以加密2000TB的数据,好像又觉得不是很厉害了。一台电脑,算500年,只能加密2000TB的数据,那我&b&要把我的2TB移动硬盘加密一下,要不间断地算上半年!&/b&&/p&&br&&p&&b&=======================================&/b&&/p&&p&&b&这个问题至此就回答完了,重新贴一遍结论:&/b&&/p&&p&&b&题主的这个算法没有应用价值,但思路有可取之处。&/b&&/p&&p&&b&=======================================&/b&&/p&&br&&p&&b&=======================================&/b&&/p&&p&&b&以下内容受到诸多网友质疑,我进一步说明一下&/b&&/p&&br&&p&&b&感谢各位知友的提醒,题主这个算法的主要问题在于试图使用一个[0, 9]的噪声去覆盖[1, 26]的字母甚至是[0, 255]的整个字节。要想隐藏原始信息,我们需要改变原始信息的分布特性,而一个[0, 9]的随机数是不足以做到这一点的。通过对图像像素的变换,我们可以清楚地看到这种不完全的覆盖,还是会让原始信息的一些蛛丝马迹泄漏出来,甚至是严重地泄漏出来。&/b&&/p&&br&&p&&b&我不认为我的答案是具有误导性的,我首先指出了题主的算法在性能上的巨大缺陷,开门见山地指出了其不具有实用价值的事实。第二,我使用了对图像像素进行『加密』的方法,直观地演示了用较小的随机数变换较大的原始数据会导致的安全问题。其中『计算无理数』和『(一个字节的)原始数据与(一个十进制位的)随机数做加法』两个关键点都是由题主明确指出的,不是由我恶意曲解的。其中『计算无理数』的主要问题是性能低,『做加法』的主要问题是会导致信息泄露。上面引用的新闻说明了第一点『性能低』,下面的实验说明了第二点,也就是『信息泄露』。&/b&&/p&&br&&p&&b&我说题主的算法是不安全的,我仍然这样认为,因为『算法』这两个字就表示了从随机数生成到应用随机数加密的整个过程。我没有试图说明OTP(一次性密码本)是不安全的,如果说我的回答有问题,那我只不过是没有指出恰当地应用OTP是安全的,而只是证明了不恰当地应用OTP是不安全的。而对OTP的不恰当应用,是题主的问题,我只不过是编程实现了题主描述的算法。&/b&&/p&&p&&b&========================================&/b&&/p&&p&&b&以下是原答案的后半部分,可以探讨,不要喷&/b&&/p&&p&&b&========================================&/b&&/p&&br&&p&然而遗憾的是,题主这个算法的问题还不仅如此。一个加密算法,其安全性的保障来自于2个特性。一是“混淆”,二是“扩散”。混淆大家都比较容易做到,然而扩散就不是那么容易了。为了证明题主的算法不具备“扩散”特性,我专门编写了一个程序来进行了实验。我去网上找到了圆周率100万位的数表,删掉了小数点,存在一个叫做pi.txt的文档里。我们要使用这个数表对512*512像素的Lena图进行加密。图片设置为灰度模式,每像素8位(1字节),每像素使用一个pi的数位来加密。&/p&&br&&p&加密前的Lena女神是这样的~&/p&&p&&img src=&/38baba20a274a438f420e205e118c63c_b.png& data-rawwidth=&512& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/38baba20a274a438f420e205e118c63c_r.png&&&br&加密之后的Lena女神是这样的:&/p&&img src=&/e50cc43cee452edfa5485557_b.png& data-rawwidth=&512& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/e50cc43cee452edfa5485557_r.png&&&br&&p&。。。。。。。。。。。。&/p&&br&&img src=&/1f5ad15ae64f3ed0e4ba10ac_b.jpg& data-rawwidth=&402& data-rawheight=&353& class=&content_image& width=&402&&&br&&p&加密的核心代码大概是:&/p&&br&&div class=&highlight&&&pre&&code class=&language-c&&&span class=&kt&&int&/span& &span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&fgetc&/span&&span class=&p&&(&/span&&span class=&n&&fp&/span&&span class=&p&&)&/span& &span class=&o&&-&/span& &span class=&sc&&'0'&/span&&span class=&p&&;&/span&
&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&n&&c&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mi&&256&/span&&span class=&p&&;&/span&
&/code&&/pre&&/div&&br&&p&加密后跟加密前几乎没有区别。如果你仔细观察,会发现加密后左上角的灰色背景上的一些噪声好像被增强了一些。这并不是因为我的程序写错了,而是因为对一个字节加密时,一个字节的取值范围是0~255,而加上的数字只可能是0~9,加上的数字比本身的数字可能小2个数量级,所以加上跟没加几乎没区别,照片看起来就没啥变化。&br&&/p&&br&&p&如果就这样否定了题主,我觉得还是不够有说服力,我们既然发现了问题,不如就解决一下。我们把一个字节拆成两半,也就是4位,然后分别加密,这样十进制的取值是0~15,跟0~9在一个数量级上了。也就是说每个字节使用2位pi的数值来加密,代码大概是这样的:&/p&&div class=&highlight&&&pre&&code class=&language-c&&&span class=&kt&&int&/span& &span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&fgetc&/span&&span class=&p&&(&/span&&span class=&n&&fp&/span&&span class=&p&&)&/span& &span class=&o&&-&/span& &span class=&sc&&'0'&/span&&span class=&p&&;&/span&
&span class=&kt&&unsigned&/span& &span class=&kt&&char&/span& &span class=&n&&low&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&&&/span& &span class=&mh&&0x0F&/span&&span class=&p&&);&/span&
&span class=&kt&&unsigned&/span& &span class=&kt&&char&/span& &span class=&n&&high&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&&&&/span& &span class=&mi&&4&/span&&span class=&p&&);&/span&
&span class=&n&&low&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&low&/span& &span class=&o&&+&/span& &span class=&n&&c&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mh&&0x10&/span&&span class=&p&&);&/span&
&span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&fgetc&/span&&span class=&p&&(&/span&&span class=&n&&fp&/span&&span class=&p&&)&/span& &span class=&o&&-&/span& &span class=&sc&&'0'&/span&&span class=&p&&;&/span&
&span class=&n&&high&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&high&/span& &span class=&o&&+&/span& &span class=&n&&c&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mh&&0x10&/span&&span class=&p&&);&/span&
&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&high&/span& &span class=&o&&&&&/span& &span class=&mi&&4&/span&&span class=&p&&)&/span& &span class=&o&&|&/span& &span class=&n&&low&/span&&span class=&p&&);&/span&
&/code&&/pre&&/div&&br&&p&现在再来看看效果,加密后的图是这样的:&/p&&br&&img src=&/1ab60df35a7d_b.png& data-rawwidth=&512& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/1ab60df35a7d_r.png&&&br&&p&哇塞酷!变成一坨了!但是仔细看一下,其实还是能够看出图像中人脸的轮廓,这个加密过程其实主要破坏了图像的低频部分,而对高频部分影响较小,使得我们仍能识别出Lena的五官、头发、草帽穗等高频元素。&/p&&p&我们再试试另外一张图&/p&&br&&img src=&/cfed538bc75a4f8014b7_b.png& data-rawwidth=&512& data-rawheight=&224& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/cfed538bc75a4f8014b7_r.png&&&br&&p&加密之后变成:&/p&&br&&img src=&/087a9f3b3b6de7b534bc1_b.png& data-rawwidth=&512& data-rawheight=&224& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/087a9f3b3b6de7b534bc1_r.png&&&p&尽管加密后文字变得很难识别,但是用力看,是可以大概识别出文字内容的。如果我们把上面的这张图扔到Photoshop里调整一下色阶:&/p&&img src=&/2036effd2f79dd39218cef6f4b793e99_b.png& data-rawwidth=&579& data-rawheight=&556& class=&origin_image zh-lightbox-thumb& width=&579& data-original=&/2036effd2f79dd39218cef6f4b793e99_r.png&&&br&&p&呵呵。。。一个可以使用Photoshop破解的加密算法。。。&/p&&br&&p&祝题主好运~&/p&&br&&p&==========分割线===========&/p&&p&下面回答网友们的疑问~!&/p&&br&&p&&a data-hash=&ccbc554d1eb7d7c970fa7d& href=&///people/ccbc554d1eb7d7c970fa7d& class=&member_mention& data-editable=&true& data-title=&@笨蛋小明& data-tip=&p$b$ccbc554d1eb7d7c970fa7d& data-hovercard=&p$b$ccbc554d1eb7d7c970fa7d&&@笨蛋小明&/a& 说,把加法换成异或是不是就看不出来了。答案是否定的~!而且即使你找到了一个猥琐的运算,使得加密后的图看不出来原来的东西了,也并不能证明算法是安全的。一个算法不具备”扩散“的特性,不管你采用加法还是异或还是什么奇葩的方法,它都不具备”扩散“特性。我还就真的写了一个异或的版本,下面上图~!!&/p&&br&&p&加密的程序核心部分是这样的:&/p&&br&&div class=&highlight&&&pre&&code class=&language-c&&&span class=&kt&&unsigned&/span& &span class=&kt&&char&/span& &span class=&n&&low&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&&&/span& &span class=&mh&&0x0F&/span&&span class=&p&&);&/span&
&span class=&kt&&unsigned&/span& &span class=&kt&&char&/span& &span class=&n&&high&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&&&&/span& &span class=&mi&&4&/span&&span class=&p&&);&/span&
&span class=&n&&low&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&low&/span& &span class=&o&&^&/span& &span class=&n&&c&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mh&&0x10&/span&&span class=&p&&);&/span&
&span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&fgetc&/span&&span class=&p&&(&/span&&span class=&n&&fp&/span&&span class=&p&&)&/span& &span class=&o&&-&/span& &span class=&sc&&'0'&/span&&span class=&p&&;&/span&
&span class=&n&&high&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&high&/span& &span class=&o&&^&/span& &span class=&n&&c&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mh&&0x10&/span&&span class=&p&&);&/span&
&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&p&&((&/span&&span class=&n&&high&/span& &span class=&o&&&&&/span& &span class=&mi&&4&/span&&span class=&p&&)&/span& &span class=&o&&|&/span& &span class=&n&&low&/span&&span class=&p&&);&/span&
&/code&&/pre&&/div&&br&上面那两张图加密后的效果是这样的:&br&&img src=&/bfa1acabc967_b.png& data-rawwidth=&512& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/bfa1acabc967_r.png&&&br&以及&br&&br&&img src=&/ba1ce7e259_b.png& data-rawwidth=&512& data-rawheight=&224& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/ba1ce7e259_r.png&&&br&这不还是坑爹吗!!!&br&&br&感谢 &a data-hash=&dc453f8768974& href=&///people/dc453f8768974& class=&member_mention& data-editable=&true& data-title=&@刘巍然-学酥& data-tip=&p$b$dc453f8768974& data-hovercard=&p$b$dc453f8768974&&@刘巍然-学酥&/a& 大牛提出的算法,我又做了一个实验,每个字节使用8个数加密,奇数为1,偶数为0,8个小数位对应8个二进制位,形成一个字节,再与原图异或,确实取得了非常理想的加密效果,肉眼不能识别,而且直方图也基本上是均匀分布的。这样做应该是一个OTP的效果了,所以如果使用正确的话应该是可以安全加密的。&br&&img src=&/e5ed89d9cad08_b.png& data-rawwidth=&525& data-rawheight=&547& class=&origin_image zh-lightbox-thumb& width=&525& data-original=&/e5ed89d9cad08_r.png&&然后再附上加密程序的核心部分&br&&br&&div class=&highlight&&&pre&&code class=&language-c&&&span class=&kt&&unsigned&/span& &span class=&kt&&char&/span& &span class=&n&&mask&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&kt&&int&/span& &span class=&n&&b&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span& &span class=&n&&b&/span& &span class=&o&&&&/span& &span class=&mi&&8&/span&&span class=&p&&;&/span& &span class=&n&&b&/span&&span class=&o&&++&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&c&/span& &span class=&o&&=&/span& &span class=&n&&fgetc&/span&&span class=&p&&(&/span&&span class=&n&&fp&/span&&span class=&p&&)&/span& &span class=&o&&-&/span& &span class=&sc&&'0'&/span&&span class=&p&&;&/span&
&span class=&n&&mask&/span& &span class=&o&&&&=&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span&
&span class=&n&&mask&/span& &span class=&o&&|=&/span& &span class=&p&&(&/span&&span class=&n&&c&/span& &span class=&o&&&&/span& &span class=&mi&&1&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span&
&span class=&n&&pImg&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&^=&/span& &span class=&n&&mask&/span&&span class=&p&&;&/span&
&/code&&/pre&&/div&
先说结论:题主设计的算法是没有应用价值的,但思路有可取之处。 现代密码学中的加密算法可以分为两大类,分组加密和流加密。分组加密例如DES、AES等等,是用同一个密钥对数据分块加密。而流密码例如RC4、RC5等,是通过一个流密钥发生器,不断产生新的密钥…
反对 @信13480的说法。有趣的是这位大大在说别的大V屏蔽他的时候,同时也把我屏蔽了。&br&&br&信大大说的&br&&blockquote&尤其是在今天高科技的背景下,印章一般都是电脑刻制,不但伪造起来十分容易,而且肉眼鉴别起来特别困难,至少比识别假签名要难。&br&&/blockquote&不好意思其实普通的防伪印章就可以做到伪造起来很困难的。&br&先说个容易懂的,仿伪纹。 &br&&a data-hash=&1c3369bbd58b14ed815011effaf0895c& href=&///people/1c3369bbd58b14ed815011effaf0895c& class=&member_mention& data-editable=&true& data-title=&@李嫑嫑& data-tip=&p$b$1c3369bbd58b14ed815011effaf0895c& data-hovercard=&p$b$1c3369bbd58b14ed815011effaf0895c&&@李嫑嫑&/a& 说的在印章上刻暗记的方法,现代科技早就有升级版本了,那就是防伪纹。&br&如图:&br&&img src=&/b19a884dd9e361eea44d6c_b.jpg& data-rawwidth=&213& data-rawheight=&213& class=&content_image& width=&213&&&br&在章最外边一个红圈,上面有细细的纹理就是防伪纹,这些防伪纹是随机产生的。由于伪造细纹西需要很高的精度,很难用普通的激光去伪造。即使有可能伪造成功,在目前的情况下也需要很大的金钱成本和时间成本。&br&所以信大大说的&br&&blockquote&从社会常识出发,什么级别的章需要划,是国务-院,是国安-局,还是村委会?如何划,划多少,谁来划?划了如何向上级与下一任交代?是一年划一次,还是换一届领导划一次?那十年下来印章岂不是千疮百孔、不可辨认了?&br&也许在使用中会有划痕等磨损,但新的公章(非私章)自己划两刀,个人认为不太现实,因为想要鉴别真假有很多办法。&/blockquote&在实体章上画痕迹早就有方法了,而且价格也不贵,200-300元就可以刻一个有防伪纹的章。&br&&br&现在印章还融入和指纹技术,直接把个人的指纹融入&br&&img src=&/815d818a87ef63cf2a6c339e_b.jpg& data-rawwidth=&942& data-rawheight=&663& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&/815d818a87ef63cf2a6c339e_r.jpg&&&br&注意五角星内的指纹纹理,依然是普通激光刻章不能简单复刻,而肉眼容易分辨的(起码和指纹一样)。&br&&br&当然信大大还可以说,淘宝上还有超高科技的刻章店,什么随机防伪纹,指纹纹都能仿造。大不了我ps一个了。&br&&br&那么下面还有一个技术,那就是防伪油墨。如下图&br&&br&&img src=&/e970f71dfab07511fa8bac3e13c4a13c_b.jpg& data-rawwidth=&650& data-rawheight=&632& class=&origin_image zh-lightbox-thumb& width=&650& data-original=&/e970f71dfab07511fa8bac3e13c4a13c_r.jpg&& 右侧是有防伪印油的公章,在没有荧光等的情况下,两者都看不到暗款,但是有了荧光灯,假章就显出原型了。这类技术要逆向也很困难,主要是暗款要和油墨配合在一起,可不是简单地从章逆向画出个同样的图像就行了。至于ps画个印章就没有什么用了。这样的印章也不贵,也是百元左右&br&&br&关于印章防伪还有很多技术,就不一一列举了,比如&b&智码技术&/b&并不是肉眼所能看到的,正因为是肉眼看不出来,所以很多人都因为没有做防伪处理。一些人以为把印章的形刻好了就行了,结果一过机器就查出是假章。&br&&br&章上面的科学多着呢,即使没有防伪技术,章的鉴定方法也很成熟。
反对 @信13480的说法。有趣的是这位大大在说别的大V屏蔽他的时候,同时也把我屏蔽了。 信大大说的 尤其是在今天高科技的背景下,印章一般都是电脑刻制,不但伪造起来十分容易,而且肉眼鉴别起来特别困难,至少比识别假签名要难。 不好意思其实普通的防伪印…
&p&举一个小学生都能懂的例子吧:&/p&&p&-----------------------------&/p&&p&看一个小时候经常在《趣味数学》这类书里的一个数学小魔术:&/p&&p&让对方任意想一个3位数,并把这个数和91相乘,然后告诉我积的最后三位数,我就可以猜出对方想的是什么数字啦!比如对方想的是123,那么对方就计算出123 * 91等于11193,并把结果的末三位193告诉我。看起来,这么做似乎损失了不少信息,让我没法反推出原来的数。不过,我仍然有办法:只需要把对方告诉我的结果再乘以11,乘积的末三位就是对方刚开始想的数了。可以验证一下,193 * 11 = 2123,末三位正是对方所想的秘密数字!&/p&&p&其实道理很简单,91乘以11等于1001,而任何一个三位数乘以1001后,末三位显然都不变(例如123乘以1001就等于123123)。&/p&&p&知道原理后,我们可以构造一个定义域和值域更大的加密解密系统。比方说,任意一个数乘以后,末8位都不变,而 = 19801 * 20201,于是你来乘以19801,我来乘以20201,又一个加密解密不对称的系统就构造好了。&/p&&p&甚至可以构造得更大一些:0000001 = 6957 * 9093,这样我们就成功构造了一个30位的加密系统。&/p&&p&这是一件非常coooooooool的事情,任何人都可以按照我公布的方法加密一个数,但是只有我才知道怎么把所得的密文变回去。&/p&&p&其安全性就建立在算乘积非常容易,但是要把0000001分解成后面两个数相乘,在没有计算机的时代几乎不可能成功!但如果仅仅按照上面的思路,如果对方知道原理,知道我要构造出带很多0的数,根据19801和8位算法这2个条件非常容易穷举出这个目标值。&/p&&p&要解决这个问题,真实世界就不是使用乘法了,比如RSA算法使用的是指数和取模运算,但本质上就是上面这套思想。&/p&
举一个小学生都能懂的例子吧:-----------------------------看一个小时候经常在《趣味数学》这类书里的一个数学小魔术:让对方任意想一个3位数,并把这个数和91相乘,然后告诉我积的最后三位数,我就可以猜出对方想的是什么数字啦!比如对方想的是123,那…
&b&谢邀。&/b&&blockquote&刚好这两天想要发布公共号关于这篇文章,“L”告诉你的? 那我就简单的说说(随后同步到公众号和专栏)另外如果有人说有AD或者其他嫌疑,那你就当没看见关闭网页吧,用心去看。&br&&/blockquote&&br&&b&一、背景描述&/b&&br&最近波兰CERT一篇名&Large-scale DNS redirection on home routers for financial theft&为的文章引起我们的注意,原文地址:(&a href=&///?target=https%3A//www.cert.pl/news/8019/langswitch_lang/en& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&cert.pl/news/8019/langs&/span&&span class=&invisible&&witch_lang/en&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&),报告中写到:“很多家用路由器存在未授权的远程修改配置漏洞导致了这次事件的发生。黑客通过在网上银行页面中注入了恶意的javascript代码欺骗用户输入账号密码和交易确认码,最终窃取了用户银行里面的钱。”&br&&br&前两天微信公众号网站安全中心(&i&wangzhan_anquan&/i&)发表消息:近日波兰遭遇大规模DNS劫持攻击,黑客通过修改家用路由器DNS配置从而劫持用户请求,最终窃取了用户银行里的钱!类似DNS劫持手法应该会很快便延伸到国内,危及网民安全。&br&&br&很多朋友收到此消息后给我们留言抛出这样的疑问:&br&&ul&&li&这个和去年的有什么不同?&br&&/li&&li&修改路由器dns劫持,国内已经有好多了,但是没听说过洗钱的。&br&&/li&&li&我只听说过能够dns劫持我的HTTP请求,HTTPS也不安全啊?&br&&/li&&li&More...&br&&/li&&/ul&&br&&img src=&/9b88e71bd8ee539ea4cbf_b.jpg& data-rawwidth=&479& data-rawheight=&467& class=&origin_image zh-lightbox-thumb& width=&479& data-original=&/9b88e71bd8ee539ea4cbf_r.jpg&&&br&更多朋友所不知道的是,HTTPS加密请求也能嗅探到?&br&&br&&b&什么是HTTPS:&/b&&br&HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。句法类同http:体系,用于安全的HTTP数据传输。https:URL表明它使用了HTTPS。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。&br&&br&之所以大家都认为不能嗅探HTTPS请求的原因是来自对加密SSL层的信任,那么黑客是怎么做到的嗅探HTTPS?&br&&br&简单的说黑客为了绕过HTTPS,采用了SSL层剥离的技术,黑客阻止用户和使用HTTPS请求的网站之间建立SSL连接,使用户和代理服务器(攻击者所控服务器)之间使用了未加密的HTTP通信。&br&&br&&b&二、攻击细节&/b&&br&黑客(攻击者)使用了一款工具来实施攻击-SSLStrip,他能够阻止用户和使用HTTPS请求的网站之间建立SSL层连接,进行中间人劫持(类似于&a href=&///?target=http%3A///link%3Furl%3Drtf--S3fUxebvBo6UnNBi9jLPbrwreV6Y6RkfR_hb20GucLgI_-PJqzXofRIBh2H& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ARP欺骗_百度百科&i class=&icon-external&&&/i&&/a&)。&br&&img src=&/fb3a1ec1a208a2891216bedcf263c3cc_b.jpg& data-rawwidth=&938& data-rawheight=&626& class=&origin_image zh-lightbox-thumb& width=&938& data-original=&/fb3a1ec1a208a2891216bedcf263c3cc_r.jpg&&上面就是我使用sslstrip进行嗅探内网某设备的截图,当然这只是一张图:)&br&&br&&b&SSLStrip的工作原理:&/b&&br&&ol&&li&进行中间人攻击来劫持HTTP请求流量。&br&&/li&&li&将出现的HTTPS链接全部替换为HTTP,同时记录所有改变的链接。&br&&/li&&li&使用HTTP与受害者机器链接。&br&&/li&&li&同时与合法的服务器建立HTTPS。&br&&/li&&li&受害者与合法服务器之间的全部通信请求经过代理(攻击者服务器)转发。&br&&/li&&li&完成劫持请求&br&&/li&&/ol&&br&&b&攻击的流程原理可用下图表示:&/b&&br&&img src=&/3ec57ba8ce87e_b.jpg& data-rawwidth=&718& data-rawheight=&413& class=&origin_image zh-lightbox-thumb& width=&718& data-original=&/3ec57ba8ce87e_r.jpg&&有关波兰遭遇大规模DNS劫持用户网上银行的事件中,因为使用SSLStrip会提醒用户连接没有使用SSL加密,黑客为了迷惑用户,重写了URL,在域名前加了“ssl-.”的前缀,当然这个域名是不存在的,只能在黑客的恶意DNS才能解析。&br&&br&&img src=&/8021efe69ef039cd9eb2_b.jpg& data-rawwidth=&1080& data-rawheight=&436& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&/8021efe69ef039cd9eb2_r.jpg&&&br&这件事情的源头是因为ZynOS路由器出现漏洞,导致的大批量DNS劫持,有关ZynOS漏洞利用攻击代码已经在Github上有人放出来了,整个流程如下:&br&&ol&&li&攻击者批量劫持用户DNS&br&&/li&&li&重写URL迷惑用户&br&&/li&&li&使用SSLStrip进行请求劫持&br&&/li&&li&完成劫持&br&&/li&&/ol&&br&波兰这次事件主要是黑客利用路由漏洞进行了大范围DNS劫持然后使用sslstrip方法进行&b&嗅探&/b&,这次方法要比之前单纯的DNS劫持有趣的多,当然危害也大的多。&br&&br&&b&解决方案&/b&&br&这种攻击方式马上会在国内展开攻击,这种攻击往往不是基于服务端,特别是SSL Stripping技术,其攻击手法不是针对相应固件也不是利用固件漏洞,所以大家有必要好好看一下解决方案,真正的把DNS防御杜绝在门外!&br&&br&&b&检查DNS是否正常&/b&&br&拿TP-Link举例,浏览器访问192.168.1.1(一般是这个,除非你改了),输入账号密码登陆(默认账号密码在说明书上都有)-& 网络参数-& WAN口设置-& 高级设置-& 看看里面DNS的IP是否勾选了“手动设置DNS服务器”。&br&&br&&blockquote&* 如果你没有人工设置过,但勾选了,那就要警惕是否被黑客篡改了。&br&* 如果没勾选,一般情况下没有问题。&br&* 检查DNS IP是否正常:在百度上搜索下里面的DNS IP看看是不是国内的,如果是国外的则需要警惕了!除非是Google的8.8.8.8这个,看看百度的搜索结果有没有谁讨论过这个DNS IP的可疑情况,有些正常DNS IP也会有人讨论质疑,这个需要大家自行判断一下,实在没把握就设置DNS IP如下:&br&主DNS服务器:114.114.114.114,备用DNS服务器为:8.8.8.8&/blockquote&&br&关于其他品牌如何修改查看或者修改DNS的话,和上面步骤也差不多,实在找不到的话就百度一下,多方便。&br&&br&如果发现被攻击的痕迹,重置路由器是个好办法,当然下面的步骤是必须的:&br&&br&&br&&b&修改路由器Web登陆密码&/b&&br&路由器一般都会有Web管理页面的,这个管理界面的登陆密码记得一定要修改!一般情况下默认账号密码都是admin,把账号密码最好都修改的复杂点儿吧!&br&&br&上面的步骤都是人工的,我们另外准备了工具(建议结合使用):&a href=&///?target=http%3A//zhanzhang.anquan.org/topic/dns_hijacking/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DNS劫持恶意代码检测&i class=&icon-external&&&/i&&/a&&br&&br&开启计算机防火墙以及安装杀软也能有效的防御此类攻击。当然https还是安全的,只不过登陆相应https网站或者涉及敏感隐私/金钱交易网站时候&b&注意网址左侧的证书颜色,绿色黄色红色分别代表不同级别!&/b&&br&&img src=&/73cc8cb4abb97_b.jpg& data-rawwidth=&297& data-rawheight=&63& class=&content_image& width=&297&&&br&&br&或者你还不了解DNS劫持?:&a href=&///?target=http%3A//mp./mp/appmsg/show%3F__biz%3DMjM5NTUzMzMwMQ%3D%3D%26appmsgid%3Ditemidx%3D1%26sign%3Df591e4d7ceb21a3f06e292cdfafeaa74%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DNS劫持那些事&i class=&icon-external&&&/i&&/a&
谢邀。刚好这两天想要发布公共号关于这篇文章,“L”告诉你的? 那我就简单的说说(随后同步到公众号和专栏)另外如果有人说有AD或者其他嫌疑,

我要回帖

更多关于 收不到短信验证码 的文章

 

随机推荐