Friday, October 05, 2012

2012-10-05 Friday - Recent Interesting Finds...


I recently started following @highscal on Twitter - also see: http://highscalability.com/ 

I happened to come across Ikai Lan's blog  [@ikai]- a treasure trove of interesting posts (and he's also very active on github -  https://github.com/ikai)

On one of his posts - Ikai mentioned Google Apps Script - which I haven't looked at previously - and in particular - there was a mention of the Google Finance Services - which I want to remember to come back and review later: https://developers.google.com/apps-script/service_finance
See Tutorials: https://developers.google.com/apps-script/articles 

Because of some recent performance tuning experiences  ['challenges'] observed in a production environment with a 3rd party vendor's commercial Java application using Hibernate - I was also intrigued that Ikai also had a post providing examples of jOOQ - a DSL for creating the ORM between Java and SQL. 

Finally, Ikai's write-up on LinkedIn's use of node.js had a mention regarding netty - which I haven't looked at in quite awhile - so this is another item to put on my reminder list for later research.

Tuesday, October 02, 2012

2012-10-02 Tuesday - SHA-3 winner (Keccak)

http://csrc.nist.gov/groups/ST/hash/sha-3/winner_sha-3.html

NIST announced Keccak as the winner of the SHA-3 Cryptographic Hash Algorithm Competition and the new SHA-3 hash algorithm in a press release issued on October 2, 2012Keccak was designed by a team of cryptographers from Belgium and Italy, they are:
    • Guido Bertoni (Italy) of STMicroelectronics,
    • Joan Daemen (Belgium) of STMicroelectronics,
    • Michaël Peeters (Belgium) of NXP Semiconductors, and
    • Gilles Van Assche (Belgium) of STMicroelectronics.


http://keccak.noekeon.org/
From keccak web site:

Keccak makes use of the sponge construction and is hence a sponge function family.
The design philosophy of Keccak is the hermetic sponge strategy. It uses the sponge construction for having provable security against all generic attacks. It calls a permutation that should not have structural properties with the exception of a compact description. By structural properties we mean properties that a typical random permutation does not have.

Keccak can be considered as a successor of RadioGatún. However, it has a very different design philosophy. The transformation applied to the state of RadioGatún in between the insertion of input blocks or extraction of output blocks is a simple round function. This round function has algebraic degree two and thus does not attempt to be free of structural properties. Therefore, unlike Keccak, RadioGatún requires blank rounds. Moreover, RadioGatún is not a sponge function as its iteration mode does not follow the sponge construction.
The permutation Keccak-f has the following properties:
  • It consists of the iteration of a simple round function, similar to a block cipher without a key schedule.
  • The nominal version of Keccak-f operates on a 1600-bit state. There are 6 other state widths, though: 25, 50, …, 800.
  • The choice of operations is limited to bitwise XOR, AND and NOT and rotations. There is no need for table-lookups, arithmetic operations, or data-dependent rotations.
About the performance of Keccak:
  • In software, Keccak[] takes about 13 cycles per byte on the reference platform defined by NIST.
  • In hardware, it is fast and compact, with area/speed trade-offs.
  • It is suitable for DPA-resistant implementations both in hardware and software.
Keccak can be used for:
  • keyed or randomized modes simply by prepending a key or salt to the input message;
  • generating infinite outputs, making it suitable as a stream cipher or mask generating function.
In these cases, the usage of the sponge construction allows for modes that are provably secure against generic attacks.