自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (7)
  • 收藏
  • 关注

原创 GitHub for Windows与IntelliJ整合

本文描述了GitHub for Windows与IntelliJ IDEA整合的过程。

2015-10-05 02:30:47 2181

转载 Google Java编程风格指南 - 转载及自己的标注

题注最近慢慢开始不再撰写论文,而是逐渐恢复自己开发能力,并开始恶补计算机基础知识。由于自己一直使用Java进行程序开发,因此恢复开发能力我自己也准备从Java开始入手。既然是能力的恢复,不妨我自己就做的更大一点:全面推翻自己曾经学过的所有有关编程的知识,从最基本的开始,一步一步的重新学重新练。这也说明:基础非常非常重要。基础打好了,后面的知识都是融会贯通的;反之,基础没有打好,后面越学越乱,最后只能

2015-09-27 14:27:21 1296

原创 Java密码学原型算法实现——第三部分:双线性对

最近在CSDN私信上和知乎上经常收到求救帖子,希望我能写一个jPBC使用方法的博客。甚至实验室的硕士生们也在各种咨询我相关的问题。于是,我打算一劳永逸,写一篇有关jPBC使用的博客。希望这个博客出来后能帮助大家解决有关jPBC的问题。

2015-04-16 22:37:35 15637 14

原创 Java密码学原型算法实现——第二部分:单钥加密算法

本部分为单钥加密算法的实现。单钥加密体制是密码学加密中的核心密码学原型之一。本部分的所有实现基于Bouncy Castle库。

2014-08-08 16:52:18 6014

原创 Java密码学原型算法实现——第一部分:标准Hash算法

虽然C在密码学中有不可替代的优势:速度快,但是,Java的可移植性使得开发人员可以很快地将代码移植到各个平台,这比C实现要方便的多。尤其是Android平台的出现,Java的应用也就越来越广。因此,我本人在密码学研究过程中实际上也在逐渐使用和封装一些知名的Java密码学库,主要是方便自己使用。第一部分的实现是标准Hash算法。这一实现使用的是Java JDK,但是使用了Bouncy Castle的工具库实现Byte和String的一些转换。

2014-08-06 21:19:47 3833

原创 Android jPBC 2.0.0配置与测试

我在前面的一片博客中,介绍了jPBC 2.0.0在PC平台上面的配置和测试。既然jPBC是Java平台上面实现的,那么jPBC能不能在Android这个以Java为主要语言的平台上运行呢?这样一来,各种在jPBC上撰写的有关双线性对的函数就都能够在移动终端上面用了。我个人的想法就是把最新的密码学算法应用到工程里面,而这确实是我想法的一个很好的跨越。因此,我在第一时间公开整个配置的过程以及我测试的方法,以供广大国内密码学研究者们进行尝试。整个配置过程实际上是非常简单的,这也要感谢jPBC库的编写者们的辛勤工作

2014-05-16 17:07:12 5501 4

原创 Week2 Assignment - Quicksort - Stanford - Algorithm: Design and Analysis Part I

题注题目分析源代码

2014-05-13 15:27:17 3682

原创 2048游戏分析、讨论与扩展 - Part I - 游戏分析与讨论

2048这个游戏从刚出开始就风靡整个世界。本技术博客的目的是想对2048涉及到相关的所有问题进行细致的分析与讨论,得到一些大家能够接受并且理解的结果。在这基础上,扩展2048的游戏性,使其变得更好玩,更有意思,更有耐玩性。本技术博客涵盖了有关2048的策略,理论分析与讨论,代码简单剖析,以及代码扩展的思路。个人认为应该是至今为止最全的2048游戏相关分析博客了。如有任何问题,有意思的讨论,以及想要交流的内容,欢迎大家留言~ 本篇为Part I,针对2048中各个问题进行分析与讨论。

2014-05-06 04:53:47 6676 1

原创 Week1 Assignment - Number Inversion - Stanford - Algorithm: Design and Analysis

题注题目

2014-05-06 01:54:37 3156

原创 Ubuntu下密码学开发环境搭建

由于最近在做一些关于密码学的项目,而密码学大部分开源库都依赖于linux环境,所以在ubuntu下搭建密码学开发环境就变得很有必要了。本文介绍了在ubuntu下搭建密码学开发环境的必要步骤,同时进行了一些细微的设置,以提高使用感受。

2014-04-21 15:55:07 3336

原创 jPBC 2.0.0配置与测试(补充版)

这一篇博客实际上是一位技术朋友希望我能撰写的。他和他团队的小伙伴们在使用jPBC这个Library的时候遇到了很多的问题,希望如果有可能的话,能得到我的帮助。帮助倒是谈不上,能互相交流一下,玩一玩技术也是不错的~ jPBC我以前也配置过,不过那个时候其稳定版本是1.2.1,还并不是特别好用。这次再配置一遍,发现2.0.0的使用比1.2.1方便得多啊,而且竟然可以在Windows下面配置了!所以我赶快做了几个测试,并把我配置的全部过程分享给大家,希望能对大家的配置和开发有所帮助。题注背景

2014-04-12 14:10:02 26979 20

原创 Ubuntu Eclipse中Pairing Based Cryptography编程配置详解

题注前言

2014-04-09 14:38:02 5570 5

原创 Week 1 Assignment - Wordnet - Princeton - Algorithms Part II

题注本来想4月2日把手头事情干完了以后回来写一写Princeton大学《Algorithm Part II》的Programming Assignment的,不过今天点开自己的博客,发现有个朋友“催稿”呢~ 今天正好心情非常好,就来写一写Week 1的题目吧~ 希望能给大家带来帮助。有关Week2的,真心等我4月2日忙完了再来研究吧~题目WordNet is a seman

2014-03-30 20:44:12 9022 11

原创 Cryptography - Chameleon Hash

题注这接近10天的时间一直忙着写论文,技术博客也就有一个多星期没有更新了。今天把“初定稿”版本交给了Boss,自己也终于稍微松口气,可以更新一下技术博客啦,这必须得普天同庆啊!最近攒的需要更新的技术博客也比较多,我得一个个写,各位看官还请静待更新啊。第一个需要和大家谈谈的是一个密码学原型函数(Cryptographic Primitive)。本来呢,自己是做密码学的,这种东西写出来看的人也

2014-03-22 23:35:56 6379 10

原创 Week 5 Assignment - Princeton-Algorithms-PartI

题注最近实在是太忙了,主要是又进入了论文周期,技术方案刚刚确定,估计后面的3周要一直写论文… 本来打算这一阵子不更新技术博客了,没想到CSDN的朋友们有的还等着我写Week 5的Assignment呢!我这人就怕让别人等… 于是就花了整个一中午的时间把这个东西写完了。为什么这么快呢?第一个原因是以前Stanford在Coursera中也开过一门算法课,叫做《Algorithm: Design

2014-03-10 14:57:42 7089 4

原创 LeetCode - Single Number II

题注这开学以后,论文阅读和撰写的压力就慢慢上来了。确实,既能够保证编程水平不下降(或者提升),又能够保证理论上的深入性,是一件非常困难的事情啊。我的偶像Dan Boneh,实际上是一个完全不会代码的人… 他的一个准学生Brent Waters也是不懂代码(Waters好多论文的运行时间是从理论时间估计出来的,或者是别人帮他实现的)。Graig Gentry算是Boneh学生里面理论最厉害的了,

2014-02-28 01:15:21 2426

原创 Stanford - Cryptography I - Week 3 Programming Assignment

题注Week2是没有Programming Assignment的,我们只能直接看Week3的题目了。Week3的问题是有关Hash函数碰撞的问题。这方面世界上研究最为透彻的当然是我们清华大学的王小云教授了。她破解了世界上注明的MD5和SHA1 Hash Function,即能在远小于给定安全常数所对应的时间内,找到两个不相等的值x和y,使得对于MD5算法:MD5(x) = MD5(y)

2014-02-26 04:55:53 3894

原创 Stanford - Cryptography I - Week 1-2 Programming Assignment

题注在整理我自己Cryptography I答案的时候,我发现以前旧博客里面很多的代码都是不能用的… 这实在是对不起广大朋友们啊!而且旧答案真正的源代码已经基本都找不到了,因此我有的代码就干脆重新整理甚至重写,以保证答案的正确性。这次应该是没问题了~题目Weak PRGThe PRG described below uses a 56-bit secret seed. Ru

2014-02-26 03:21:31 2942

原创 Stanford - Cryptography I - Week 1-1 Programming Assignment

题注今天我的留学生朋友伊万发给我微信,说Coursera的课程太棒了!我还想呢,这是感慨哪门课程啊。一问才知道,原来是Dan Boneh的Cryptography I又开始新的学期了。而且,他做了一些Programming Assignment,并且说从我以前的技术博客中学到了很多的东西。这我才想起来,我本来很早之间就计划把Cryptography I的Programming Assignme

2014-02-26 02:24:34 10870

原创 Week4 Assignment - Without Full Score - Princeton-Algorithms-PartI

题注第一次跟Princeton的《Algorithm》课没有跟下来的一个核心原因就是这道题无论如何拿不到full score,第一次做的时候分数只有不到85分,因为最后的测试总是有一些test不能通过。经过了大概6个月后,现在再编这个题目,结果还是拿不到full score,不过分数大约提高了10分,只有部分的test不能通过。然而,我自己还是找不到为何通不过的原因,因此先把现在的代码贴出来,

2014-02-24 13:56:41 8362 27

原创 Week3 Assignment - Princeton-Algorithms-PartI

题注Princeton Algorithm Part I中Week 3的Assignment实际上也是很早前就做完了,不过因为懒,一直没放到网上来… 正好新周期的Algorithm课也督促我复习一遍算法知识,另一方面也有机会把所有的Assignment做完吧。上个周期中,Week 4的Assignment没有拿到满分,就萌生退意了。这回卷土重来,希望能拿到一个Perfect的结果(当然了,Pr

2014-02-16 14:50:06 9791 4

原创 LeetCode - Word Break II

题注刚才一直在和我的导师进行交流,又学到了很多东西。说实话,现在几位教导过我的老师真是我人生的指明灯,我非常幸运能在高校中遇到这些真正为学生考虑的老师,而且还不止一位!这样也让我更有动力进行学习和研究呀!回到主题,继续做LeetCode,有了Word Break的基础,正好也挑战一下Word Break II。Word Break II的思路和Word Break很像,但是有一个很重要的问

2014-02-14 16:43:41 1646

原创 LeetCode - Word Break

题注大情人节的做编程题还真是有点说不过去呢… 不过也算是对我自己的一种惩罚了,谁让以前错过了真爱,现在对除了她以外的其他女孩子一点兴趣都提不起来呢… 没事没事,安慰下自己吧。话说不太想按照AC Rate的顺序做题了,每次点来点去的太麻烦,找感兴趣的做吧!这道题刚开始看的时候一点思路都没有,然后有了点思路后发现是错的,最后还是通过Discuss才知道正确的解决方法是什么,有种自己弱爆了的感觉

2014-02-14 14:09:15 926

原创 LeetCode - Swap Nodes in Pairs

题注这道题吧,看起来挺简单的,但是里面涉及到一些细节问题,很容易就错了,在实现之前最好仔细考虑一下各个细节。问题Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2

2014-02-11 02:23:21 894

原创 LeetCode - Pascal's Triangle

题注这道题让我怀念起了小学华罗庚学校上课的日子… 题目不难,来看一下吧~题目Given numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5, Return[     [1],    [1,1],   [1,2,1],  [1,3,3

2014-02-11 01:58:49 1104

原创 LeetCode - Convert Sorted Array to Binary Search Tree

题注LeetCode 18,19,20题也做完了,不过代码在学校的电脑里面。为了保证在学校能干正事(这一碰代码根本停不下来…),以后做题尽量在家里做,作为消遣吧… 新的学期快开始了,昨天和导师交流以后今年的工作任务什么的都定了下来,学期结束前应该没有那么多时间天天刷LeetCode了,尽力而为吧… 今天先把21,22,23三道题的答案更新了,以后有时间,或者没时间做新题的时候就把前面缺的题目们

2014-02-11 01:47:06 895

原创 LeetCode - Roman to Integer

题注其实LeetCode中6-14的题我前几天就做了,主要因为大年初五和初六和朋友们一起出去玩肯定没法做嘛,因此提前就做了。不过本着尽可能每天1-3道题的速度,做完一天的题再补前面的确实有点累… 以后慢慢补上,希望最后能做一个答案的大汇总,不求最精练,但求考虑尽可能所有的问题吧!今天这最后一道题还挺有意思,补充了Roman Number表示方法的知识,也算是更有收获了。题目Give

2014-02-07 16:31:40 730

原创 LeetCode - Merge Two Sorted Lists

题注这题本身不难,但是有很多细节的地方需要考虑。我感觉还是因为自己对于链表本身的操作不熟练,导致好几次上传都没有被accept。还是需要继续练习啊!题目Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the node

2014-02-07 15:52:55 872

原创 LeetCode - Maximum Subarray

题注:这道题开始时候我绞尽脑汁也没想出来… 特别怀疑自己的智商,无奈去网上搜了搜,结果发现是一个经典的算法题,而且从提出到最后解决用了大概6年的时间,看来还真不是智商问题… 这些基础算法是王道,我们没有那么聪明,几乎不可能像大师那样自己设计高效的算法。那么,提高自己算法能力的方法就是掌握所有的基础算法,然后遇到问题进行规约。我想,这才是如我这种渣技术的人才能掌握的方法吧?说白了呢,就像计算机中

2014-02-07 14:40:53 912

原创 LeetCode - Best Time to Buy and Sell Stock II

题注:这道题吧,怎么说呢,感觉挺没意思的… 并非解决了个实际问题,而是有点马后炮的意思,不太喜欢这道题。不过既然LeetCode收录了,咱们就做一做。题目:Say you have an array for which the ith element is the price of a given stock on dayi.Design an algorithm

2014-02-03 20:24:02 934

原创 Leetcode - Unique Binary Search Trees

题注:这道题本身不难,不过这次涉及到一些数学分析,很基础。LeetCode的题目本身都比较基础,但是正如《灌篮高手》里面赤木刚宪对樱木花道说的:基础最重要。没有掌握好的代码基础,剩下的一切都是扯淡。题目:Given n, how many structurally unique BST's (binary search trees) that store values 1.

2014-02-03 20:13:35 789

原创 LeetCode - Reverse Integer

题注:今天继续刷,可能这几天确实想编程了,总是看理论自己也受不了… 毕竟还是希望能够把学到的理论应用到实际当中嘛。虽然这么干学的东西要超多,而且很辛苦,但是很开心!题目:Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to

2014-02-03 19:55:34 1006

原创 LeetCode - Same Tree

题注:不能再刷了,再刷天亮了… 今天最后一道,今天还要看看论文呢,毕竟Paper才是王道啊!题目:Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally i

2014-02-03 05:46:58 852

原创 LeetCode - Single Number

题注:我有个学弟说过,千万别让我碰代码。果然如此… 根本停不下来… 刷LeetCode应该从简单到难了,所以我选择了一个比较偷懒的方法:按照Accept Rate进行排序,Accept概率越大的题,相对来说肯定比较简单啦。另外,今后博客中的数学公式我会使用LaTeX的表述方法,这样更专业些,而且也很容易移植。这道题其实还是挺有意思的,不过作为一个学密码学的,竟然一下没想到这种解决方法,真是惭愧

2014-02-03 04:58:24 983

原创 LeetCode - Maximum Depth of Binary Tree

我的一个好朋友,Guangyao Miao,当然啦,以前是高中的同班同学,给我推荐了LeetCode这个Online Judge。相比很多第三方的算法测试平台,这个平台我感觉是最友好的,而且很像Coursera给我感觉,有一种大家在一起学习的意思呢。希望能在毕业之前把所有的题目都刷完,毕竟作为一个Cryptographer,不能总是弄那些很理论的东西嘛,得接地气。第一个题很简单了,原题如下:

2014-02-03 04:28:05 1092

原创 JNI中javah命令的使用方法

题注:一个短短的博客,以前在自己的新浪博客中,阅读量竟然达到了4000多,可见遇到这个问题的人是多么的多啊。搬到CSDN中,造福大家吧最近一直在折腾这个JNI和Android NDK,今天通过javah生成h文件时遇到各种问题。不管是javah-classpath参数啊还是别的什么,一直都无法成功通过class文件生成h文件。经过一个多小时的查询也探索,现在终于成功编译出来了~调用ja

2014-02-03 03:19:38 1374 1

原创 Week2 Assignment - Princeton-Algorithms-PartI

题注:同样是一片我新浪博客的文章,搬到CSDN中帮助更多的人吧!   虽然是春节,但Coursera竟然没有任何让人休息的意思,课程还是接着上…这周的题目看起来比较简单,但是实际上问题一堆,我从上午2:30开始听Lecture,大概5点就把Quiz搞定了,但是这个ProgrammingAssignment却让我一直折腾到现在… 当然了,更多的原因不是因为我这代码有问题,是Princeton

2014-02-03 03:16:02 6922 1

原创 Week1 Assignment - Princeton-Algorithms-PartI

题注:这本来是我新浪博客中的一个文章,不过感觉技术博客还是在CSDN中发表比较合适,以后CSDN会是自己的领地了!把以前的一些有用的,阅读量比较多的博客搬过来,造福更多人吧~转眼又到寒假了,话说我这简单的技术小博客一直没有更新呢~ 寒假有充足的时间给自己充电,整个寒假净忙着弄英语、看论文、写ReportReview,当然还有我自己最喜欢的:上Coursera的课程了~这个寒假总共注册了三门

2014-02-03 03:13:41 11122 2

离散数学及其应用(第五版) Part II

一本计算机科学基础类数学读物。Stanford公开课《Algorithm: Design and Analysis》推荐的是《Mathematics for Computer Science》,为一个英文读物。对于大家来说,推荐大家阅读这本书,讲得也非常好,而且是中文版的。本书由于文件过大,分为2个Part上传,这为Part II

2014-05-04

离散数学及其应用(第五版) Part I

一本计算机科学基础类数学读物。Stanford公开课《Algorithm: Design and Analysis》推荐的是《Mathematics for Computer Science》,为一个英文读物。对于大家来说,推荐大家阅读这本书,讲得也非常好,而且是中文版的。本书由于文件过大,分为2个Part上传,这为Part I

2014-05-04

Mathematics for Computer Science

Stanford公开课《Algorithm: Design and Analysis》推荐的一本有关计算机科学的数学基础类读物。本书为英文版本,如果阅读起来有困难,我个人建议大家阅读中文版《离散数学及其应用》。

2014-05-04

Cryptography and Network Security

我的两位导师,Prof. Jianwei Liu和Prof. Qianhong Wu推荐的一本密码学入门教材。市面上密码学入门的教材很多,这本教材相对来说是最为浅显易懂的。在密码学领域,国内研究在世界上实际还处于落后的地位,希望朋友们能够一起努力,推动中国密码学发展啦

2014-03-11

Head First C (English Version)

这是《Head First C》的英文影印版。国内大多数C语言的学习都是从谭浩强老师的《C程序设计》入手的。然而,我个人认为那本书适合于考试,但并不适合作为系统学习C语言的教材。个人推荐《Head First C》。如果想真正学习C语言,应该阅读原版的《The C Programming Language》

2014-02-20

An Introduction to the Analysis of Algorithms (2nd Edition,Robert Sedgewick)

Coursera中普林斯顿大学公开课《Analysis of Algorithms》的教材。这本教材在有在线版本,不过为了学习方便,我还是找到了影印版本,供大家参考。文件只供学习交流用。

2014-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除