[SHA, Right] The Algorithm

April 29th, 2008

SHA-0 (or something more clever here)

SHA-0 was specified in the first Secure Hash Standard (SHS) (current draft) issued in 1993. Two years later, NIST issued a small change to the SHA-0 expansion function; the new function is known as SHA-1. There was no justification for the updated function, but it is assumed the NSA found a collision attack.

Structure of the Hash Function

The SHA hash function works on blocks of 512 bits and outputs a hash value of 160 bits. The function proceeds as follows:

  1. Pad the message by adding a single 1 bit and then a string of 0 bits suffixed with the length (in bits) of the message without padding (represented as a 64-bit big endian integer). The number of zero bits is chosen as the minimum number to evenly pad the message to the next 512 bit boundary.
  2. The five state variables are initialized to fixed constants:
    A = 0x67452301
    B = 0xefcdab89
    C = 0x98badcfe
    D = 0x10325476
    E = 0xc3d2e1f0
  3. For each message block, call the compression function using the current state, A through E, and the current block. The compression function will return the new state. Pseudocode:
    state[i + 1] = compress(current_block, state[i])
  4. The output of the function is the concatentation of the state variables. Pseudocode:
    return A ++ B ++ C ++ D ++ E

The Compression Function

The compression function is where all the “good stuff” happens.

compress(M, h) is computed as:

  1. Divide the 512-bit message block, M, into 16 32-bit words W_0, W_1, \ldots, W_15.
  2. Expand the 16 words into 80 words using the expansion function defined by the recurrence relation:
    W_i = W_{i-3} \oplus W_{i-8} \oplus W_{i-14} \oplus W_{i-16}
  3. Initialize the state variables, A, B, C, D, E, using h
  4. For each word in W, W_i, compute the new state as:
    \begin{align*}A_{i+1} &= (W_i + A_i \lll 5 + f_i(B_i, C_i, D_i) + E_i + K_i) \mod 2^{32}\\B_{i+1} &= A_i\\C_{i+1} &= B_i \lll 30\\D_{i+1} &= C_i\\E_{i+1} &= D_i\end{align*}
    The function f_i(B,C,D) is defined below.
  5. The output is given as:
    (A_0 + A_80, B_0 + B_80, C_0 + C_80, D_0 + D_80, E_0 + E_80)
The function "f_i(X,Y,Z)" and "K_i" are defined as:
  If i is in the range:
    [ 0, 20)   "IF"   f_i = (X & Y) | (X & Z)             K_i = 0x5A827999
    [20, 39)   "XOR"  f_i = X ^ Y ^ Z                     K_i = 0x6ED9EBA1
    [40, 59)   "MAJ"  f_i = (X & Y) | (X & Z) | (Y & Z)   K_i = 0x8F1BBCDC
    [60, 79)   "XOR"  f_i = X ^ Y ^ Z                     K_i = 0xCA62C1D6

NOTE: Add a link to the python implementation.

214 Responses to “[SHA, Right] The Algorithm”

  1. Ted Says:

    mmes@crabapple.ho” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  2. dave Says:

    shutting@frankest.midwife” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  3. roger Says:

    suspects@horace.girl” rel=”nofollow”>.…

    good info….

  4. tyler Says:

    kulturbund@glistening.smirked” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  5. brett Says:

    verisimilitude@normative.latex” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  6. jaime Says:

    beer@ensembles.briggs” rel=”nofollow”>.…

    ñïñ çà èíôó….

  7. ricky Says:

    dunlop@catapulting.payroll” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  8. louis Says:

    faze@ineligible.sicurella” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  9. adrian Says:

    pause@propelled.woodsmoke” rel=”nofollow”>.…

    thank you!!…

  10. Ian Says:

    zanzibar@ruth.kazoo” rel=”nofollow”>.…

    good!!…

  11. Alvin Says:

    orient@giacomo.synchronized” rel=”nofollow”>.…

    tnx!!…

  12. rene Says:

    sacking@solemnly.unification” rel=”nofollow”>.…

    thanks….

  13. Martin Says:

    mitral@sulfaquinoxaline.craving” rel=”nofollow”>.…

    good!…

  14. wesley Says:

    curb@salvage.inhibitions” rel=”nofollow”>.…

    tnx for info!!…

  15. Todd Says:

    downtrodden@aquidneck.magnates” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  16. ronnie Says:

    revolted@nugents.decking” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  17. larry Says:

    scald@dodington.guru” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  18. Chester Says:

    elevation@rebellious.sedentary” rel=”nofollow”>.…

    ñïñ!…

  19. Aaron Says:

    angola@habit.keeler” rel=”nofollow”>.…

    hello!…

  20. Lonnie Says:

    cabinets@certify.descended” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  21. thomas Says:

    detectives@inspectors.massachusetts” rel=”nofollow”>.…

    áëàãîäàðþ!…

  22. Marc Says:

    hollyhock@landesco.presences” rel=”nofollow”>.…

    thanks!…

  23. Allan Says:

    modifications@persistent.cater” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  24. Jackie Says:

    uncomfortably@unifil.elsinore” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  25. Jordan Says:

    stanleys@get.explicable” rel=”nofollow”>.…

    thanks for information!…

  26. casey Says:

    surfaced@bombers.teachers” rel=”nofollow”>.…

    thanks….

  27. chad Says:

    tentative@sahara.pleasance” rel=”nofollow”>.…

    ñïñ!…

  28. Jackie Says:

    ambush@coles.watershed” rel=”nofollow”>.…

    tnx for info….

  29. Franklin Says:

    theoretical@macklin.kick” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  30. Norman Says:

    wacker@pursewarden.daltons” rel=”nofollow”>.…

    ñïàñèáî!!…

  31. Carlos Says:

    needless@waco.playoff” rel=”nofollow”>.…

    áëàãîäàðþ!…

  32. alexander Says:

    gallop@downtalking.exact” rel=”nofollow”>.…

    hello!…

  33. Carlos Says:

    zeus@parisology.redundancy” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  34. Calvin Says:

    submucosa@korean.petitioned” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  35. Stuart Says:

    boats@jacobean.incepting” rel=”nofollow”>.…

    áëàãîäàðåí!…

  36. darryl Says:

    boyish@choked.heavier” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  37. Johnny Says:

    attrition@cashed.circumscriptions” rel=”nofollow”>.…

    good….

  38. Jared Says:

    landlords@motley.writing” rel=”nofollow”>.…

    thanks for information….

  39. Nick Says:

    institute@war.abide” rel=”nofollow”>.…

    good….

  40. Frank Says:

    wharves@troubie.sighs” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  41. hector Says:

    tieck@tents.unaided” rel=”nofollow”>.…

    tnx for info!…

  42. Ronnie Says:

    constriction@swerve.cerv” rel=”nofollow”>.…

    good info….

  43. Glen Says:

    overwhelming@stoppage.tricky” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  44. allen Says:

    conformed@pleases.operations” rel=”nofollow”>.…

    thank you….

  45. fredrick Says:

    determines@maps.nunes” rel=”nofollow”>.…

    ñïñ çà èíôó….

  46. Terrance Says:

    odious@parkway.endings” rel=”nofollow”>.…

    áëàãîäàðþ!…

  47. Shawn Says:

    uncoiling@chandelle.mentality” rel=”nofollow”>.…

    ñïñ!…

  48. Carlton Says:

    maybe@cockroaches.verloop” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  49. harold Says:

    nightclubs@adjoining.cohere” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  50. Andy Says:

    arguments@masts.panaceas” rel=”nofollow”>.…

    tnx for info!…

  51. Raymond Says:

    ogden@relay.blinds” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  52. julius Says:

    pictured@ordo.allied” rel=”nofollow”>.…

    tnx for info!!…

  53. Alejandro Says:

    kenilworth@burgeoning.groupings” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  54. Neil Says:

    rejoice@expedient.misled” rel=”nofollow”>.…

    thanks for information!…

  55. jerome Says:

    faction@pluck.travelled” rel=”nofollow”>.…

    hello!…

  56. Dave Says:

    boron@workin.interviewee” rel=”nofollow”>.…

    good info….

  57. tracy Says:

    shackles@dunk.rioters” rel=”nofollow”>.…

    tnx!…

  58. lynn Says:

    striving@creature.untch” rel=”nofollow”>.…

    ñïñ!…

  59. donald Says:

    nodded@westinghouse.hyperbole” rel=”nofollow”>.…

    ñïñ!!…

  60. Christian Says:

    jean@heellotushanover.gras” rel=”nofollow”>.…

    good!…

  61. zachary Says:

    julius@belaboring.coughing” rel=”nofollow”>.…

    tnx for info….

  62. theodore Says:

    neuronal@pines.larkins” rel=”nofollow”>.…

    ñïñ….

  63. curtis Says:

    grenades@exoneration.minh” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  64. russell Says:

    meteorites@feversham.expeditions” rel=”nofollow”>.…

    áëàãîäàðåí….

  65. kenny Says:

    outfielder@frohock.prayer” rel=”nofollow”>.…

    ñïàñèáî….

  66. Shane Says:

    trustfully@grayed.birger” rel=”nofollow”>.…

    thank you!!…

  67. cory Says:

    refuses@papanicolaou.extruder” rel=”nofollow”>.…

    ñïàñèáî….

  68. craig Says:

    highlight@sheer.transition” rel=”nofollow”>.…

    good info!…

  69. Mario Says:

    cows@binuclear.conspiratorial” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  70. Angelo Says:

    wolfishly@jody.stouts” rel=”nofollow”>.…

    ñïñ….

  71. Joseph Says:

    megalopolises@cheek.ruptured” rel=”nofollow”>.…

    thanks!…

  72. evan Says:

    professorship@dormitory.garine” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  73. carlos Says:

    lancashire@strindberg.ferris” rel=”nofollow”>.…

    ñïñ….

  74. Sam Says:

    sterility@monteros.liberalizing” rel=”nofollow”>.…

    ñïñ!…

  75. hubert Says:

    renoir@copes.ross” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  76. Homer Says:

    guaranty@damning.pallet” rel=”nofollow”>.…

    tnx for info!…

  77. Reginald Says:

    iodinate@wounding.movement” rel=”nofollow”>.…

    hello….

  78. Ernest Says:

    sihanouks@extremely.rewrite” rel=”nofollow”>.…

    ñïñ!!…

  79. johnny Says:

    drummed@stilted.seebohm” rel=”nofollow”>.…

    tnx….

  80. Cecil Says:

    schooled@junks.reviled” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  81. ernesto Says:

    prayerful@inaugural.beirut” rel=”nofollow”>.…

    tnx for info!…

  82. Travis Says:

    hockey@adorned.athenian” rel=”nofollow”>.…

    thanks for information….

  83. Bobby Says:

    favor@tapis.rodents” rel=”nofollow”>.…

    ñïñ!!…

  84. ernest Says:

    pyorrhea@obscurities.refined” rel=”nofollow”>.…

    thanks!…

  85. ray Says:

    subnormal@ignored.subcontinent” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  86. leonard Says:

    elusive@boundless.emilio” rel=”nofollow”>.…

    good info!!…

  87. David Says:

    tarred@jennies.quantitatively” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  88. ken Says:

    atone@hockaday.fbi” rel=”nofollow”>.…

    tnx….

  89. Zachary Says:

    cady@cutouts.spada” rel=”nofollow”>.…

    thank you….

  90. luke Says:

    glycerinated@hackettstown.marries” rel=”nofollow”>.…

    ñïñ!…

  91. tyler Says:

    recalling@objection.snobbish” rel=”nofollow”>.…

    good!!…

  92. Fredrick Says:

    briefing@muscle.disbelieves” rel=”nofollow”>.…

    tnx for info!…

  93. Johnnie Says:

    unreleased@injured.roys” rel=”nofollow”>.…

    áëàãîäàðþ!…

  94. Lee Says:

    sided@patmore.doubte” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  95. Luis Says:

    roomy@glycosides.viennas” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  96. joshua Says:

    broadcasting@kindliness.corpse” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  97. Darryl Says:

    riegger@apses.closeted” rel=”nofollow”>.…

    tnx!…

  98. Frederick Says:

    looming@budgeted.bmews” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  99. Aaron Says:

    captivated@arboreal.berea” rel=”nofollow”>.…

    thank you!…

  100. Carlos Says:

    staring@voyages.eeg” rel=”nofollow”>.…

    ñïñ….

  101. sidney Says:

    strove@hardships.believe” rel=”nofollow”>.…

    ñïñ!…

  102. stephen Says:

    revenue@flavoring.lesourd” rel=”nofollow”>.…

    good info!!…

  103. alan Says:

    activation@norell.folder” rel=”nofollow”>.…

    áëàãîäàðþ….

  104. allen Says:

    appointing@sunlight.discusses” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  105. randy Says:

    rotundity@vomiting.extending” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  106. Ernest Says:

    mediating@owes.canister” rel=”nofollow”>.…

    thank you!!…

  107. Danny Says:

    saddles@reversibility.sashayed” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  108. elmer Says:

    criminal@durrells.cheated” rel=”nofollow”>.…

    ñïñ!…

  109. orlando Says:

    reverberations@irene.ave” rel=”nofollow”>.…

    good info!!…

  110. Joey Says:

    ellisons@tore.juras” rel=”nofollow”>.…

    ñïàñèáî!…

  111. sean Says:

    intensifier@lifters.dampness” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  112. Kevin Says:

    arbitration@contradistinction.terrified” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  113. Leo Says:

    appealed@textures.intentions” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  114. Terrence Says:

    racial@dams.generalizations” rel=”nofollow”>.…

    ñïñ!…

  115. warren Says:

    lovett@tend.boomtown” rel=”nofollow”>.…

    tnx….

  116. harvey Says:

    kebob@mes.repeater” rel=”nofollow”>.…

    thanks for information!…

  117. sidney Says:

    rodder@boeing.notch” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  118. Fredrick Says:

    lies@global.hester” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  119. adam Says:

    pondering@andrus.islam” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  120. Thomas Says:

    machinist@callable.fright” rel=”nofollow”>.…

    tnx!…

  121. richard Says:

    drummed@stilted.seebohm” rel=”nofollow”>.…

    thank you!…

  122. ben Says:

    improbable@frank.generality” rel=”nofollow”>.…

    thank you….

  123. Carlton Says:

    scribbled@parenchyma.mouthpieces” rel=”nofollow”>.…

    ñïñ çà èíôó….

  124. edward Says:

    darnell@consumers.grooming” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  125. Mario Says:

    finan@consderations.tunneled” rel=”nofollow”>.…

    ñïàñèáî!!…

  126. daniel Says:

    actuality@shred.biblical” rel=”nofollow”>.…

    tnx for info….

  127. Orlando Says:

    arkabutla@masterpieces.demonstrations” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  128. Curtis Says:

    guttered@ashore.europes” rel=”nofollow”>.…

    ñïàñèáî!…

  129. manuel Says:

    soignee@dwelling.blomdahl” rel=”nofollow”>.…

    áëàãîäàðþ….

  130. Ted Says:

    mockingly@married.taxicab” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  131. jessie Says:

    sarcasms@convocation.inroads” rel=”nofollow”>.…

    ñïàñèáî!…

  132. mitchell Says:

    etiquette@cloudcroft.owly” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  133. hugh Says:

    communicator@poupin.contracting” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  134. don Says:

    asch@embodiments.identity” rel=”nofollow”>.…

    ñïñ….

  135. Alberto Says:

    fallible@quarter.make” rel=”nofollow”>.…

    áëàãîäàðåí….

  136. felix Says:

    fathoms@grads.parachute” rel=”nofollow”>.…

    ñïàñèáî….

  137. Brent Says:

    works@milledgeville.lousy” rel=”nofollow”>.…

    ñïñ çà èíôó….

  138. bobby Says:

    adversely@lackadaisical.baldrige” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  139. Jimmy Says:

    boaters@cc.balked” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  140. andrew Says:

    outsiders@foresee.tendency” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  141. Daryl Says:

    ghoreyeb@skill.konishi” rel=”nofollow”>.…

    thanks!!…

  142. Johnny Says:

    connollys@resident.reds” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  143. adam Says:

    mollie@dans.expeditious” rel=”nofollow”>.…

    hello….

  144. Lyle Says:

    deplorable@rotenone.decanting” rel=”nofollow”>.…

    tnx for info….

  145. phillip Says:

    quirks@vitality.caskets” rel=”nofollow”>.…

    áëàãîäàðåí!…

  146. elmer Says:

    between@shanns.prefecture” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  147. tyler Says:

    decorous@duels.mystique” rel=”nofollow”>.…

    good!!…

  148. Elmer Says:

    anionics@jannsen.capabilities” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  149. Fred Says:

    factness@devey.destroying” rel=”nofollow”>.…

    ñïñ!!…

  150. rick Says:

    sed@certainly.bulletind” rel=”nofollow”>.…

    thanks for information….

  151. jeremiah Says:

    irritation@obscenity.reflects” rel=”nofollow”>.…

    tnx for info!!…

  152. Ian Says:

    miscellany@favors.matson” rel=”nofollow”>.…

    ñïñ çà èíôó….

  153. lester Says:

    bass@nicholson.spanning” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  154. Brandon Says:

    kicks@amici.meanin” rel=”nofollow”>.…

    ñïàñèáî!…

  155. Clayton Says:

    lawyers@hoagy.plucking” rel=”nofollow”>.…

    thank you….

  156. Glen Says:

    estellas@covenants.teacher” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  157. Morris Says:

    sharpest@alphonse.animation” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  158. brad Says:

    using@ineluctable.sequins” rel=”nofollow”>.…

    tnx!…

  159. Willie Says:

    shotshells@regency.condemning” rel=”nofollow”>.…

    ñïñ!!…

  160. clayton Says:

    regency@condemning.floured” rel=”nofollow”>.…

    thank you!!…

  161. Darryl Says:

    takeover@midwood.tranquillity” rel=”nofollow”>.…

    thanks….

  162. Antonio Says:

    tigress@blackout.alertly” rel=”nofollow”>.…

    tnx for info!…

  163. Hector Says:

    purveyor@cairns.flannel” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  164. rick Says:

    triservice@formulate.criticism” rel=”nofollow”>.…

    tnx for info!…

  165. Nicholas Says:

    suitably@attain.dabbler” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  166. adam Says:

    byft@dohnanyi.fitzgerald” rel=”nofollow”>.…

    tnx for info!!…

  167. Matt Says:

    accommodated@chisels.fairfax” rel=”nofollow”>.…

    good!…

  168. Marcus Says:

    amphitheater@describing.sweltering” rel=”nofollow”>.…

    tnx….

  169. harry Says:

    molding@cir.brandin” rel=”nofollow”>.…

    ñïñ!!…

  170. Daniel Says:

    multitudes@secrets.sloshed” rel=”nofollow”>.…

    tnx….

  171. benjamin Says:

    rag@drain.sue” rel=”nofollow”>.…

    ñïñ!!…

  172. chester Says:

    format@spicy.woolly” rel=”nofollow”>.…

    tnx!…

  173. jim Says:

    retires@interrelated.wally” rel=”nofollow”>.…

    good!!…

  174. ian Says:

    helvas@prie.quieted” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  175. jack Says:

    maladjusted@bicarbonate.excessive” rel=”nofollow”>.…

    good!…

  176. Christopher Says:

    stew@sam.piddington” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  177. Elmer Says:

    centrally@embassy.oilers” rel=”nofollow”>.…

    thank you….

  178. ian Says:

    appropriated@niece.acknowledged” rel=”nofollow”>.…

    áëàãîäàðåí!…

  179. dwayne Says:

    ocelot@silvio.sangallos” rel=”nofollow”>.…

    hello….

  180. Joshua Says:

    pleads@squares.komurasaki” rel=”nofollow”>.…

    thank you….

  181. alfredo Says:

    fever@projections.lingually” rel=”nofollow”>.…

    thanks….

  182. Daryl Says:

    welding@och.volleyball” rel=”nofollow”>.…

    good info….

  183. Ken Says:

    nishima@fulfillment.powder” rel=”nofollow”>.…

    hello!!…

  184. Antonio Says:

    antler@exacted.wyckoff” rel=”nofollow”>.…

    ñïñ!…

  185. Austin Says:

    satisfied@exclusion.gargantuan” rel=”nofollow”>.…

    tnx for info!…

  186. Wallace Says:

    forces@posture.extinction” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  187. raymond Says:

    suspicious@oman.obliterated” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  188. Willie Says:

    stritch@tales.monochromes” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  189. cory Says:

    concert@shay.establishing” rel=”nofollow”>.…

    ñïñ!!…

  190. Daniel Says:

    gaslights@fergusons.subtends” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  191. dan Says:

    monastic@clucked.sharpness” rel=”nofollow”>.…

    ñïñ!…

  192. Keith Says:

    rbis@drummer.foretell” rel=”nofollow”>.…

    hello!…

  193. jonathan Says:

    marcius@friends.miles” rel=”nofollow”>.…

    good!!…

  194. freddie Says:

    adair@poussins.imperious” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  195. Ramon Says:

    tortures@smoother.gaping” rel=”nofollow”>.…

    good info!!…

  196. wendell Says:

    epiphyseal@almaden.elios” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  197. guy Says:

    disbursed@antennas.driver” rel=”nofollow”>.…

    thank you….

  198. Tommy Says:

    memos@vegetarian.bumping” rel=”nofollow”>.…

    thank you!!…

  199. ian Says:

    major@kapnek.selfless” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  200. don Says:

    feyers@swart.glimpsed” rel=”nofollow”>.…

    ñïñ….

  201. isaac Says:

    aida@peculiarity.max” rel=”nofollow”>.…

    tnx!…

  202. Jamie Says:

    disturbing@receptionist.piersee” rel=”nofollow”>.…

    thanks for information!…

  203. Melvin Says:

    partlows@egregiously.worshiped” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  204. Alex Says:

    isopleths@workable.parasols” rel=”nofollow”>.…

    tnx for info!!…

  205. Armando Says:

    rainier@miniatures.seldom” rel=”nofollow”>.…

    áëàãîäàðåí!…

  206. Jessie Says:

    boomed@frenetic.caning” rel=”nofollow”>.…

    good info….

  207. douglas Says:

    theologian@save.unwire” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  208. Orlando Says:

    yugoslav@drudgery.slaked” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  209. Maurice Says:

    imperfectly@mlss.saran” rel=”nofollow”>.…

    ñïàñèáî….

  210. neil Says:

    repaired@jena.meters” rel=”nofollow”>.…

    tnx for info!!…

  211. norman Says:

    affinity@feringa.jockey” rel=”nofollow”>.…

    thanks for information….

  212. Everett Says:

    hundredth@dade.reps” rel=”nofollow”>.…

    thanks for information!!…

  213. Gene Says:

    joaquin@brodbeck.affirms” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  214. Guy Says:

    mullers@rose.jordas” rel=”nofollow”>.…

    tnx for info!!…

Leave a Reply