[FWD] SRP Protocol Design

SRP Protocol DesignSRP is the newest addition to a new class of strong authentication protocols that resist all the well-known passive and active attacks over the network. SRP borrows some elements from other key-exchange and identification protcols and adds some subtle modifications and refinements. The result is a protocol that preserves the strength and efficiency of the EKE family protocols while fixing some of their shortcomings. The following is a description of SRP-6 and 6a, the latest versions of SRP: N A large safe prime (N = 2q+1, where q is prime) All arithmetic is done modulo N. g A generator modulo N k Multiplier parameter (k = H(N, g) in SRP-6a, k = 3 for legacy SRP-6) s User’s salt I Username p Cleartext Password H() One-way hash function ^ (Modular) Exponentiation u Random scrambling parameter a,b Secret ephemeral values A,B Public ephemeral values x Private key (derived from p and s) v Password verifierThe host stores passwords using the following formula: x = H(s, p) (s is chosen randomly) v = g^x (computes password verifier)The host then keeps {I, s, v} in its password database. The authentication protocol itself goes as follows: User -> Host: I, A = g^a (identifies self, a = random number)Host -> User: s, B = kv + g^b (sends salt, b = random number) Both: u = H(A, B) User: x = H(s, p) (user enters password) User: S = (B – kg^x) ^ (a + ux) (computes session key) User: K = H(S) Host: S = (Av^u) ^ b (computes session key) Host: K = H(S)Now the two parties have a shared, strong session key K. To complete authentication, they need to prove to each other that their keys match. One possible way: User -> Host: M = H(H(N) xor H(g), H(I), s, A, B, K)Host -> User: H(A, M, K)The two parties also employ the following safeguards: The user will abort if he receives B == 0 (mod N) or u == 0. The host will abort if it detects that A == 0 (mod N). The user must show his proof of K first. If the server detects that the user’s proof is incorrect, it must abort without showing its own proof of K. A paper describing this protocol is also available, as well as a conference paper describing an older version of the protocol.

Read More

know is not meaning familer and professional

know is only know the wear. not the body inside.

not familer and professional.

所以尽管新毕业的学生会在简历中写到熟练XXX  再经过了几年实际的工作后, 反而会减少这些字眼 换之 严谨的说法, 对XXX有一定的了解和应用经验。并列举一些实际的内容。

今天TJ ask us what the content we have learned on my colledge. computer graphics, computer architect, operation system. and the like.  i say i know it , but not famlier with them. and i seldom use some knowledge of computer graphics, and without using computer architect.  我说的是实话。 有些课程我似乎真的没有直接的用到, 也许是因为所处的领域不同吧。

那我回过头来想想我现在对哪些算是熟悉的呢? 我想应该是如下几点,

 1, 多线程

2. 数据库设计(包括存储过程和表结构设计 查询优化等 mysql oracle ms sql)

3.socket network programming  (得益于cmpp sgip 项目 和tptfw )

4.mobile platform (javame symbian iphone <game>) /GameServer (use java nio) /

5.custom script engine for rpg game (used in my not success project)

6. some code tips. (reuseable design ,architect tech design)

7. Bigworld engine based programming. (python mainly )

8. Freebsd linux configuration. (Including bigworld server construct because i have get CCNA in 2002 for ehance my network programming level)

9. normal cms (jo0mula,wordpress , trac svn integrated, cpanel) 

10. 3D programming concept  ( not all only object transform based on quanterion)   unity3d (3 months)

Read More


推荐 5# 的技术blog 


更多-> http://wuh101.spaces.live.com/blog/cns!FE3D0072AB9A5D3!214.entry#comment

还有 Troy.Dunniway的双语BLOG  即将连载 英雄之旅 1 讲述游戏设计相关的

Read More