Leona+
Dream for future
Dream for future
Feb 21st
登录过程采用SRP协议,具体版本细节不清楚,反正不是最新版。
相关记号:
H —- 单向Hash函数,WoW中用的是Sha1,Sha1生成的结果定长20字节
N —- 大素数,32字节
g —- N%(一个N的质因子),1字节
C —- 明文用户名
P —- 明文密码
CP —- C + ":" + P,+表示字符串连接
s —- 随机数
x —- 临时变量,x = H(s, H(CP))
v —- v = g ^ x
a —- 随机数,保存在客户端,不公开
b —- 随机数,保存在服务器,不公开
A —- A = g ^ a
B —- B = 3 * v + g ^ b
u —- u = H(A, B)
S —- 客户端:S = (B – 3 * g ^ x) ^ (a + u * x),服务器:S = (A * v ^ u) ^ b,都为32字节
Key —- 40字节,偶数字节为H(S的偶数字节),奇数字节为H(S的奇数字节),Key将用于以后的通讯加密
M1 —- M1 = H( H(N) xor H(g), H(C), s, A, B, Key )
M2 —- M2 = H( A, M1, Key)
^ —- 幂运算
xor —- 异或运算
% —- 模运算
所有运算结果都%N
登录过程(只包含正常的流程,错误检测忽略):
0、服务器预先保存着N和g。
1、客户端向服务器发送C。
2、服务器根据C查找P。生成s、v、b、B,将B、g、N、s发送给客户端。
3、客户端生成a、x、v、A、u、S、M1、M2,将A、M1发送给服务器。
4、服务器生成S、Key、M1、M2,将M2发送给客户端。
5、如果两边的M1和M2都一致,则登录成功。
Dec 27th
这几天RP持续走低,接连碰到郁闷的事,只好看看X-File换换心情。
其中有一集讲的是,一个人具有特异功能,他的思维可以影响到周围照相机中的底片,底片洗出来之后显示的是他当时的思想。看了开头就有种感觉,这一集的剧本是根据中国近代关于照相机摄魂的迷信说法改写的。不知道现在还有没有,至少在十几年前,部分农村里,还有些老人迷信的认为,照片里的人像是自己的灵魂,照相机把自己的灵魂抓去了。在不知道胶片感光原理的前提下,这种想法算是比较正常。而X-Files这一集的想法,相对于那个迷信来说,则更有说服力。
照相机是人类发明的,运用的是物理和化学原理,从某种程度上来说,照相机能不能抓取人的灵魂,完全是可以由制造照相机的人控制的,换句话说,在证明了相关的物理化学原理是无毒无害之后,照相机也可以被认为是无毒无害的。因此,在拍照片的过程中,只要人的灵魂不主动出壳,那么照相机是无法接触到人的灵魂的。而在X-Files中,主动和被动的关系变得不明确。无法确定是那个人的思想感化了底片,还是底片捕获了思想。由上文同理可知,底片无法主动捕获人的思想,那么可以推出,那个人的思想使底片发生了变化。这是有可能的,因为人体无时无刻都是对外释放辐射,只是辐射量比较小,基本可以忽略。或许影片中的那个人正好有某部分发生了变异,使得底片接收到他的辐射之后,可以把他的思想显示出来。虽然有些荒诞,但这种推理对于科幻故事来说,是站得住脚的。
近而,在看完片子之后,又想到了关于照片中出现不应该出现的东西的事件。这种照片网上有很多,比如照片中出现死了几年的人的影子、没有脚的女人等等。从辐射的角度,这一点是可以理解的,即灵魂产生的辐射影响了底片。(关于灵魂存在的问题,我相信灵魂是存在的,灵魂+身体=人,之所以相信,是因为这样可以解释某些人认为自己有前世,并且在出生后不久就对自己的前世了如指掌等等。)至于说网上的图片的真实性,虽然有可能大多数都是假的,但也不可能全部都是假的吧。我相信照片的内容令人毛骨悚然这件事情是存在的。
当然我不是相关领域的专家,以上只是我的一点猜测和推论而已……
Dec 20th
早上本来想睡到自然醒的,后来10点钟被老师叫醒,说要准备退房=.=
收拾完行理,被告之有4人(包括1老师)晚上乘飞机回上海,还有2老师不知去向,于是剩下的9人就只能自己乘火车了。当时那个寒啊,虽然我们都是成年人了,虽然我们比赛成绩不好,但也不是这样丢下我们不管吧=.=
12点退了房,11个人去昨天那家饭店吃饭,其间还发生了很搞笑的事:一个服务员给leen倒茶,可能发现leen的杯子不太干净,于是就先倒了一点,荡了荡,然后把水倒在了leaderz的碗了。我正好坐在leaderz对面,看到他一脸无语的表情,基本笑趴下了。
下午去了网吧操星际,没想到几年没玩了,打法居然还记得,还赢得比较爽,哇哈哈哈……
晚上又去同一家饭店吃了一顿,豆角啊,太好吃了,中午点的豆角居然被老师退掉了,我晕……
然后乘Taxi去火车站,结束了这郁闷的西安之旅……
Dec 20th
一早就很兴奋地跟着leen和leaderz去华山玩,同去的还有zc和cjd,然后就被BS了=.=
一年没运动果然不行,爬了100多米双腿就开始罢工,而且天冷加上空气稀薄,身体瞬间严重不舒服,于是带着大多数干粮下山,乘缆车……
5分钟后到了北峰,站在山顶休息了一会,正在盘算着是等他们四人上来还是自己先玩点什么的时候,有两个广东人走过来,问我要不要一起走,我说要等同学,然后他们说爬上来要很长时间,在这里等没有意义,于是我就被说服了,跟着他们一起去南峰方向。
途中遇到不少操着粤语口音的人路过,然后那2个广东人就开始和老乡说粤语,撂下我在旁边郁闷……
一直走到苍龙岭之前,我都觉得很顺利,没感觉累(后来发现那一段是平路)。上了苍龙岭之后,瞬间崩溃了,基本上属于走2分钟停5分钟的状态,最后只走到中峰,因为时间不够就开始往回走……
下山基本没什么问题,只是比较感慨,当初是怎么爬上来的=.=
然后乘车回宾馆,到宾馆已经是8点多钟了,去外面找了一家看上去比较豪华的饭店吃饭,因为我们当时都没现金了,只能用信用卡,没想到那里的菜巨好吃,而且非常便宜,很爽……
Dec 20th
没想到最后一战输得这么惨……
早上8:00吃完早饭上车,最后一战进行倒计时。
9:00比赛开始,zc看A,我看B,cjd看J,B很短,瞬间看完了,但是没想法,我对DP一直没什么研究,导致想算法的时候不会主动往DP的方向想。然后看了D和F,因为题目比较短,我很懒^_^,发现都和数学有点关系,直接扔给cjd,cjd告诉了我J的意思,发现输入比较烦,先放一放。然后再回过来想B,刷了一下board发现楼教主已经过了B,太夸张了。然后开始尝试用搜索,写完之后发现最大的数据过不掉。
这时候cjd让我用均匀切分立方体的方法试一下F,因为只要小数点后3位,切得多一点说不定可以过。然后发现均匀切成100W份的效果还没100W次随机投点好。然后就交了100W次随机设点的代码,TLE,换成50W,还是TLE,再低一点精度就有严重问题了,暂时放弃。
继续想B,B已经有很多队过了。这时zc和我说E是简单题,听了一下之后想想可能有trick,让cjd从同余的角度想想。cjd没什么想法,我就直接模拟,1AC,真爽=.=。然后我继续对B剪枝,一直没什么起色,cjd说F可以用三维凸包做,模板有三页,寒啊……反正机器空着,就让他敲模板。
证明了剪枝策略无效之后,B放弃。开始看J,当时J有不少队过了。细想之下好像没什么trick,直接判断就可以做。于是把cjd拉下来,开始写J。写完才发现有一种形状没法判断,这时才想起可以先生成所有可能的情况,不过已经没什么时间了。
最后15分钟的时候,发现F被rejudge了,100W那次提交还是TLE,50W的是WA,于是交了一个80W的,还是WA,不敢试90W,只是改了一个生成点的精度,本地测试3次对1次,狂交了几次,AC,此时离比赛结束还有5分钟。
消磨完最后5分钟垃圾时间后,我的ACM生涯就此结束……
赛后leen问我还去不去POJ切题,一时无语,只好用标志性的“不知道呀”搪塞一下……
三年半的大学生活,从刚进校一个月开始就接触到了ACM,三年多的时间里,学到了很多,也失去了很多,这些以后再说。
晚上吃完饭,把POJ上的签名改了,发了一贴留念……
Dec 17th
早上6:45闹钟响,关了继续睡=.=,7:00电话铃响,不知道是睡,不接,室友接了,发现是morning call=.=,到了7:15,突然意识到再不起来可能没早饭吃了,迅速起床、刷牙洗脸换衣服,冲到一楼,发现ACM的餐厅在二楼=.=,冲到二楼,发现不是自助餐,想想自己一个人冲上去霸占整张桌子貌似不太厚道,于是在门外等了一会,10分钟过去了,没看到认识的人,于是冲进去找了一个空位坐下吃……
7:50乘车去西电,先是听了开幕式,然后Sun的宣讲,又发T恤,想想再去拿的话就有三件一样的T恤了,难道要凑满7件?于是就跑出去闲逛了。中午和队友出去吃了泡馍(OK,免疫了,再也不吃了)。
下午热身,场地是分开的,有三间房间,于是气球就失去了意义,而且很不幸没和教主分在一间房,不能仰慕他切题了。热身赛一共4道题,上手发现B是最简单的,切之,第一次提交TLE,在想是不是要改成scanf的时候,突然意识到要文件输入。然后再交,WA,百思不得其解,难道思路错了?稍微改了改,再交,RTE,无语,想自杀了。然后仔细地看了题目里的每一个单词,发现我的代码和题目只有一个地方不一样,就是题目里写:“Input File: B.in”,我写:“ifstream in(“b.in”)”,改之,就过了=.=。然后明白了,Solaris的文件区分大小写,还是Windows好=.=
然后cjd想D,我想C,想过贪心、模拟,都不可行,于是放弃。这时候1个多小时了,看了看D,想到有种算法叫“二分答案”,然后问cjd能不能验证答案,回答是肯定的,然后就开始写,因为边界条件估计不准确,答案Q可能会很大,WA了几次之后AC了。
这时候是2个半小时,场上已经有点乱了,有队员和教练跑来跑去了,我也没什么心情做题了,就去找其它队员聊天……
热身赛结束,大家乘车去吃晚饭,听说是吃饺子。很兴奋地跑过去坐好,同桌坐的是宁波大学的,边聊天边吃冷菜,冷菜基本被清空了热菜还没上来,大家只好对着空桌子喝可乐。等了很久之后终于上热的了,然后发现是蒸饺,一笼十个,一桌十人,上一笼清一笼,服务员效率也比较高,迅速收到再上下一笼。可惜最后也只上了十几笼,也就是说每人也就吃了十几个蒸饺,一点饱的感觉都没有=.=,非常不爽。最后还上了一个珍珠饺子,非常小,说是鸡肉馅,基本上就是面粉馅=.=
吃完之后众人都不爽,跑到外面的麦当劳,买了点东西带去宾馆吃……
然后第二天就过去了……..
Dec 17th
乘了一天的火车,早上9点到达西安。下车之后发现没想象中的那么冷,在上海穿的一套完全撑得住。西安火车站的Taxi管理比新客站好多了,比起上火车之前在Taxi中穿梭,下火车之后找到一辆Taxi方便很多。
西安的Taxi好便宜,起步费5元,1.5元/公里,几天内来来去去都是乘taxi,价格从没超过15元。
在西安宾馆注册花了不少时间,好像是安排上有点问题,等了很久之后终于拿到了房间钥匙。房间一般般,没什么特别之处。在房间休息了一会之后,我冲到一楼想去吃点东西(早饭没吃),兜了一圈没发现有哪个餐厅看上去像是给ACM的,于是去问了注册地方的人,被告之中饭和晚饭自理-_______-|||,我宁愿多付点房租能在宾馆里吃饭的,要不然每顿饭都跑出去吃太累了。
后来我们一伙人去了“老孙家”吃羊肉泡馍,据说这家店很有名,而且我们这里50%的人没吃过羊肉泡馍,于是就冲过去吃了。15个人吃掉450元,在上海基本上可以算是天方夜谭了,主要是因为10块钱的泡馍塞饱了,就没吃太多其它的东西。我觉得羊肉饱馍和羊肉面没什么区别,只不过一个是块状,一个是条状罢了。
吃完饭,一堆人去了大雁塔观光,我不想比赛前太累,就去了网吧,然后回宾馆小睡了一会。晚上一堆人去了回民街吃羊肉串,据说2角钱一串,而且那里的老板是不问你要几串,直接拿出一把来问你够不够,颇有气势。不过我又不想比赛前吃坏肚子,又去了网吧=.=。
然后这么一天就过去了……….
Dec 14th
最后一次Regional了,怎么说都要拼一下。
从11月底到现在一直在做题目,看书,整理代码,课都没去上,希望上天不要辜负我的努力=.=
不过有很多算法还是没完全弄明白,比如后缀数组、FFT和线性规划,都是一看到就头大的东西……
下午4点半的火车,据说一共有15个人,真是庞大的队伍,估计可以占半列车厢=.=
不多说了,大家Bless我吧^_^
Dec 20th
一大早又乘了6个小时的汽车回Delhi,彻底伤掉了,一天没精神……
中午又去吃了中国菜,和第一天中午一模一样的中国菜,太失望了,中国菜烧成这样……
然后去了某塔,界个塔的介绍很有劲,起初是印度人造的,高度85M,后来最上面两层倒掉了,变成70M,后人又修了一层,变成75M,就成了现在这个样子,没什么看头,偶继续找松鼠……
然后去了某大学旁边的一条商业街,总算找到偶们找了很久的书店了,不过没找到IT的书,比较失望。在那条街还看到了McDonald,不过没去吃(晚饭又安排了中国菜,火大),蛮后悔的,界是偶们在印度看到的唯一一家啊……
晚饭后,导游送偶们到机场,面对着偶们的是5小时的飞机和第二天凌晨6点的着陆……