Ada-derived Skein crypto shows SPARK
August 24, 2010 —
(Page 1 of 2)
The National Institute of Science and Technology (NIST) is looking for a better cryptographic hash function. The body has been considering submitted algorithms for over a year now in an effort to pick one to become SHA-3 (the Secure Hash Algorithm), but at least one developer in the U.K. decided to implement one of the competitors himself before a winner is crowned.
Rod Chapman, principal engineer of software house Altran Praxis, said he decided to implement the Skein algorithm in order to give the SPARK programming language a real workout. His company developed SPARK, which is a subset of Ada and designed for use in real-time, high-security environments and embedded systems. SPARK is built to make provably correct applications, and to limit the possibility of errors hidden in the code.
So when Chapman heard about the Skein algorithm and its submission to NIST as one of 14 potential SHA-3 candidates, he decided to use the algorithm as a test project for SPARK. “Some of our customers are doing high-grade security stuff,” he said. “When I came across Skein and the SHA-3 competition, I wondered if I could implement one of these in SPARK. I wondered if I could do a better implementation."
Chapman said that the reference implementation was written in C, which facilitated recoding it in SPARK. “I wanted to make the code as readable as possible," he said. "I wanted to make it portable, so the same code with no modification would theoretically run on any computer with any compiler regardless of word size. I wanted to do a proof of type safety, and finally the most ambitious goal was to see if I could come up with a new implementation that would at least be competitive with the C code.”
Once the code was up and running, Chapman was able to do a deep round of optimization in GCC, the compiler used at Altran Praxis to compile Ada and SPARK code.
“We've tried it with various builds of the GCC compiler. We can use the same compiler to compile C and the SPARK code, so hopefully that puts us on even footing to compare with C. We're now about 5 to 10% slower than the C code. We're down to 13 clock cycles per byte,” said Chapman. “I'm sure we can get that 10% back. I wrote this up as an example of how this sort of thing can be done.”
Related Search Term(s): security, Skein
Share this link: http://sdt.bz/34579
Most Read
Latest News
Resources
SAP unveils SAP HANA platform innovations for Big Data and spatial processing
Features include smart data access and expanded cloud deployment options
|
|
|
Alteryx raises $12 million to put Big Data analytics in the hands of all business analysts
Quest founder's firm, Toba Capital, selects Alteryx as its first analytics investment
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
|
|
Jelastic launches new version of its Java and PHP hosting platform
Jelastic today announced the launch of a new version of its ultra-scalable cloud hosting platform
|
Telerik adds back-end services to Icenium mobile tool suite
Icenium Everlive makes the suite a complete app development platform, the company says
|
|
|
CollabNet fuses CloudForge, TeamForge
New pricing structure and integration gives developers an enterprise-grade choice for dist...
|
|
|
Eclipse release train for Kepler arrives June 26
New version of Eclipse includes Stardust for business process management, and Orion 3.0 fo...
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
IDC MarketScape: Worldwide Cloud Testing and ASQ SaaS
Demand for solutions to test applications on the cloud and for the cloud is rising signifi...
|
|
|
Get to Know the Database Decision Factors
What should you look for when choosing a relational database system? This informative arti...
|
|
|
Exploring the Database Forest
Today’s database technology landscape is more dynamic and varied than ever before. What’s...
|
|
|
Data Management Resource Guide
Today’s data is generated by more than just applications. Data is generated by trillions o...
|