crypto/weakcrypto/docs/bigint.dox
changeset 0 2c201484c85f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/docs/bigint.dox	Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,53 @@
+/**
+	@page bigint Big Integer
+	
+	- @ref bigintWhat
+	- @ref bigintHow
+
+	@section bigintWhat What does the big integer library do?
+
+Some types of cryptography require the handling of finite arbitrary length
+integers.  This big integer library attempts to provide support for that
+requirement.
+
+It is capable of representing both negative and positive integers with an
+absolute value of less than 2<sup>32</sup>^(2<sup>32</sup>).
+
+	@section bigintHow How do I use the big integer library?
+
+There are four categories of exposed APIs:
+-# Creation of new integers given some other representation (descriptor, TUint,
+etc).
+@ref RInteger RInteger::NewL()
+-# Creation of new integers given some criteria (range, bitcount, prime). 
+@ref RInteger RInteger::NewRandomL(), RInteger::NewPrimeL()
+-# Exporting of previously created integers to descriptors. 
+@ref TInteger TInteger::BufferLC()
+-# Querying attributes about the size of a previously created integer. 
+@ref TInteger TInteger::BitCount(), TInteger::ByteCount(), TInteger::WordCount().
+
+The following code demostrates how to create an \c RInteger from a bitstring
+representation of a big integer.
+
+@code
+//This creates an RInteger from the following binary hexadecimal (base 16)
+//descriptor.  Note that the number is written overall in big endian (most
+//significant digit is first, least significant digit (ones digit) is last).  
+//P.S. The hexadecimal binary descriptor below is the base 16 representation
+//of the base 10 number 123456789012345678901234567890.
+RInteger integer = RInteger::NewL(_L8("18EE90FF6C373E0EE4E3F0AD2")); 
+CleanupStack::PushL(integer);
+
+//This next line converts the number stored by an RInteger into a binary, big
+//endian, hexadecimal descriptor.
+HBufC8* descriptor = integer.BufferLC();
+CleanupStack::Pop(descriptor);
+CleanupStack::PopAndDestroy(integer);
+//descriptor is the same as the original _L8 input value now.
+@endcode
+
+For more information on integers, including important memory management
+information and additional creation overloads, see \c RInteger @ref RInteger.
+
+*/
+