colossus

密码学系列之:明文攻击和Bletchley Park

醉酒当歌 提交于 2020-12-09 23:38:47
简介 明文攻击就是指已经知道了部分明文和它对应的加密后的字段,从而可以推测出使用的加密手段或者密码本。明文攻击这个故事还要从二战时候说起。 crib和明文攻击 谈到明文攻击,就不能不讲到一个词crib和它的发源地布莱奇利公园(Bletchley Park)。 布莱奇利公园(Bletchley Park)是位于米尔顿凯恩斯(Buckinghamshire)的英国乡村房屋和庄园,它是由金融家和政治家赫伯特·莱昂爵士在1883年建造的, 在第二次世界大战期间成为同盟国密码破解的主要中心。 在第二次世界大战期间,该庄园内设有专门进行密码破译的研究所,该研究所主要负责破译轴心国的秘密通信,其中最重要的是德国的Enigma和Lorenz密码。在其早期人员中,密码破译团队拥有很多著名的人物,包括Alan Turing,Gordon Welchman,Hugh Alexander,Bill Tutte和Stuart Milner-Barry。直到战后多年,那里的工作才被公布于世。 正因为这个密码破译团队的杰出成效,破译了很多轴心国的密码,据说直接导致二战提前四年结束,如果没有它,二战的结果还是未知之数。 为了更加有效的破译密码,Bletchley Park的团队开始借助机械的力量来进行密码破解,最终发展了世界上第一台可编程数字电子计算机Colossus。Bletchley

《MapReduce: Simplified Data Processing on Large Clusters》论文研读

[亡魂溺海] 提交于 2020-10-02 21:28:47
MapReduce 论文研读 说明 :本文为论文 《MapReduce: Simplified Data Processing on Large Clusters》 的个人理解,难免有理解不到位之处,欢迎交流与指正 。 论文地址 : MapReduce Paper 1. MapReduce 编程模型 MapReduce 是 Google 提出的一种用于处理和生成大数据集的 编程模型 ,具象地可以理解成一个 框架 。 该框架含有两个由用户来实现的接口: map 和 reduce , map 函数接收一个键值对,生成一个中间键值对集合, MapReduce 框架会将所有共用一个键的值组合在一起并传递给 reduce 函数, reduce 函数接收此中间键以及该键的值的集合,将这些值合并在一起,生成一组更小的值的集合 。 该编程模型中,数据形式变换可由以下模式表示: map: (k1, v1) -> list(k2, v2) reduce: (k2, list(v2)) -> list(v3) 注 :论文中该模式第二行表示为 reduce: (k2, list(v2)) -> list(v2) ,个人认为由于通常情况下 reduce 会对 list<v2> 做一些处理(特殊情况下不做任何处理,即 reduce 为恒等函数),生成一些不同的值,所以用 list<v3>