Ruchika Gupta c5de15cbc8 crypto/fsl: Add command for encapsulating/decapsulating blobs
Freescale's SEC block has built-in Blob Protocol which provides
a method for protecting user-defined data across system power
cycles. SEC block protects data in a data structure called a Blob,
which provides both confidentiality and integrity protection.

Encapsulating data as a blob
Each time that the Blob Protocol is used to protect data, a
different randomly generated key is used to encrypt the data.
This random key is itself encrypted using a key which is derived
from SoC's non volatile secret key and a 16 bit Key identifier.
The resulting encrypted key along with encrypted data is called a blob.
The non volatile secure key is available for use only during secure boot.

During decapsulation, the reverse process is performed to get back
the original data.

Commands added
--------------
    blob enc - encapsulating data as a cryptgraphic blob
    blob dec - decapsulating cryptgraphic blob to get the data

Commands Syntax
---------------
	blob enc src dst len km

	Encapsulate and create blob of data $len bytes long
	at address $src and store the result at address $dst.
	$km is the 16 byte key modifier is also required for
	generation/use as key for cryptographic operation. Key
	modifier should be 16 byte long.

	blob dec src dst len km

	Decapsulate the  blob of data at address $src and
	store result of $len byte at addr $dst.
	$km is the 16 byte key modifier is also required for
	generation/use as key for cryptographic operation. Key
	modifier should be 16 byte long.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
2014-10-16 14:20:40 -07:00
..
2014-07-18 17:53:24 -04:00
2013-04-01 16:33:52 -04:00
2014-06-11 16:25:47 -04:00
2014-06-11 16:25:47 -04:00
2014-02-04 16:32:20 +01:00
2014-05-27 10:21:32 -04:00
2014-08-09 11:17:03 -04:00
2014-08-09 11:16:57 -04:00
2014-08-09 11:16:57 -04:00
2014-06-20 11:54:29 -06:00
2014-06-05 14:38:38 -04:00
2011-04-08 00:44:27 -04:00
2013-08-16 13:45:15 -04:00
2014-03-22 14:47:22 -06:00
2013-05-31 17:12:03 -05:00
2014-05-12 15:19:46 -04:00
2012-08-09 23:39:18 +02:00
2014-09-24 18:30:28 -04:00
2014-07-23 14:06:17 +01:00
2013-04-01 16:33:52 -04:00
2014-01-14 09:01:06 -05:00
2014-03-21 16:43:59 -04:00
2014-01-14 09:01:06 -05:00
2014-04-17 17:44:36 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2011-12-07 08:41:22 +01:00
2014-06-20 11:54:29 -06:00
2010-01-18 00:23:00 +01:00
2014-09-16 12:23:56 -04:00
2011-10-22 01:13:35 +02:00
2014-05-29 17:45:31 -04:00
2014-07-18 17:53:23 -04:00