;
;`-',
;.-.;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""";, ,;
;`-';           Irdeto Sage V2                  /\    |\           For Sony Playstation Portable    ;`-';
;.-.;       File Encryption Program            //\/''/''/        with Homebrew Compatible Firmware  ;.-.;
;`-';       With Retro Irdeto 1 Key           //''||' ||            First Demo Release 09/10/08     ;`-';
;.-.;      Calculation Demonstration.        |/   |/  |/2008!           Last update 14/10/08        ;.-.;
;`-';                                                                                               ;`-'; ;"""'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'"""'


Hi Guys,
The Irdeto Sage program  started as an Irdeto Key Calculator demo, and was then expanded into a full
file encryption and decryption program for the Sony Playstation Portable with homebrew firmware.

This program's crypto algorithms relate to an obsolete Pay TV encryption system called Irdeto,
but is not in any way intended to aid in pay television piracy.
Back in the day it was possible to use this algo, and it's signature algorithm counterpart to produce
programs to maintain pirate tv cards, or to produce programs that run on the cards themselves.

This implementation however, is written for private use, working with files. The encryption algorithm
is very strong, and would require a worldwide distrubuted computing effort to brute force it's keys.

Irdeto Sage is written in C, with the free PSP SDK (thanks to ps2dev.org), and uses no "borrowed",
or stolen code other than where credited in the program's intro screen. The crypto algorithms are
written from scratch for this application.


       **************************************** Disclaimer ******************************************


The Irdeto Sage program is provided for free, as it is, without warranty of any kind, either express or
implied, including, but not limited to, the implied warranties of fitness for a purpose.
Without limiting the foregoing, the author of this program makes no warranty that:

   1. the software will meet your requirements
   2. the software will be uninterrupted, or free of errors.
   3. the results that may be obtained from the use of the software will be accurate or reliable.
   4. any errors found in the program will be corrected.
   5. documentation provided with the program will be accurate, complete, or up to date.

Use of this program is at your own discretion and risk and with agreement that you are responsible for any
damages or loss of data that results from such activities.

The author also disclaims responsibility for possible damages caused by unofficial hardware peripherals.
It would not be possible for the author to guarantee the quality of everyone's work in producing them.
Support for such devices provided by the program is solely intended for those qualified to produce them.


       ********************************* Grant Of Software License **********************************


The Irdeto Sage Program is free to use, but I retain ownership of my software, and grant of license to use
it is under identical terms of GPS Trackmaker license agreement (reproduced in part with permission),
that pertain to preservation of protected ecosystems. View the entire agreement for GPS Trackmaker:
http://www.gpstm.com/downloadscontract.php

"LICENSE GRANT

The author grants a non-exclusive license to use the program, free of charge, if the user:
Does not use the program for illegal purposes;
does not practice activities that destroy or degrades the environment;
does not practice polluting activities;
does not throw trash on the ground or through the cars windows;
when going to the beach and creeks takes his trash back until finding a trash collector;
does not practice any activities that hurts animals, like hunting, out-of-season fishing, pigeon shooting,
dog fight, etc.;
does not buy wild animals that, by law, may not be created out of their natural environment;
has ecological conscience and protects nature.
People that for any reason do not fit the conditions above, are expressly forbidden to use the program."

License to use any version of the Irdeto Sage program also require adhesion to the following terms:

When the user visits a Beach or other body of water, National Park or other protected environment,
he or she leaves no damage to live vegetation, leaves no unnatural polluting material, or litter,
and removes non-combustible material from fireplaces, or litter that may have been left by other people
if it is reasonable to store and carry it with your own rubbish.

This agreement applies whether or not the program's source code is ever released to the public,
and also applies to use of the program's source code, should it ever be released to the public.


       *************************************** Installation ******************************************

To Install the Irdeto Sage program, copy the program folder to the homebrew game folder of your PSP.
This could be PSP/GAME150 or PSP/GAME3.52, etc.

Irdeto Sage is tested with a 3.52 M33 firmware PSP unit. This is the last true 1.50 kernel hybrid firmware.
the program is known to work with other firmwares as well, but I have not personally tested these.

The program should also work with original 1.50 firmware as long as the program folder is kxploited,
but again, I have not tested this for myself.


       ****************************************** Usage **********************************************


At program startup, you will see an intro screen giving credit where it is due. Immediately after this,
the menu is displayed.

You can select options to either encrypt, or decrypt a file, or to view a live demo display of the
Irdeto Plain Master Key Algorythm which is explained in detail in the accompanying document provided
with this package. It is a revised version of the original by Rashid.

**** Irdeto Demo ****
This is a little PSP demo with the keys from Rashid's original document (included in this package)
hard coded into the demo program. A live visual decryption of the Plain Master Key (PMK) can be seen,
followed by a live encryption of the PMK which will result in the same EMK (Encrypted Master Key) that
was shown at the beginning. The "11 11 11 11 11 11 11 11 11 11" Hex Master Key (HMK) from the example
doesn't give too much of a visual display. THe demo will probably be of little to no interest unless
you are already familliar with the Irdeto system.

Normal use of the program would involve selecting a 10 byte private key used to encrypt a file, and
pressing CIRCLE to open the file browser prompting the user to select a file to encrypt.
Once a file is encrypted, the same 10 byte key must be used to decrypt the file so that it can be
written back to it's original (unencrypted) state.

There is a limitation on the size of files that can be encrypted by this program,
and this is a little over 20Mb. An error message will be displayed if a file is selected that is too
large to process. This limitation is due to the fact that all processing is done in RAM, and the program
is to remain compatible with the PSP 1000 hardware (PSP fat).


       ********************************* Irdeto Sage YouTube Videos ***********************************

Irdeto Key Calculation Demo:                            Irdeto RISC assembler implementation:
http://au.youtube.com/watch?v=PhdoWWjSDuk               http://au.youtube.com/watch?v=GKGmP26-m4Q


       ************************************ Irdeto Sage Web Page **************************************


The Irdeto Sage Program will have it's own web page shortly.

Check it out here: http://www.freewebs.com/defxev/IrdetoSage.htm


       ***************************************** Donations ********************************************


*Donations*
License to use this program will remain free, but I am accepting donations toward new hardware and development.
You can encourage future program and/or hardware development by sending a donation. Contact me on the PSPU,
Austech, or these other listed forums. My user name is Art on all of them, or click the donation link on any of
my project web pages.

I have valuable use for low capacity Memory Sticks for programming. If you like this program,
please consider donating the 32Mb Memory Stick that came with your PSP once you have upgraded,
or perhaps the low capacity Memory Stick that comes with some Sony Ericsson mobile phones.

Thanks goes out to Jason & Jared, a Father & Son team from QJnet forums for being the first to donate a pair
of Memory Sticks! It's much appreciated! :) Keep up the green electronics projects!
Thanks also to MjW, Moose Island, and lifey for their kind donations of PSP Memory Sticks.
Cheers, Art.

http://forums.ps2dev.org/viewforum.php?f=14
http://forums.qj.net/f-qjnet-sony-psp-forums-48.html/
http://www.dcemu.co.uk/vbulletin/index.php
http://www.psp-programming.com/forums/
http://www.psphacking101.com/forum/index.php?c=1
http://www.freewebs.com/defxev/


       ************************************ Program History Log ***************************************

VERSION HISTORY:

V2 (14/10/08):
- Improved menu operation (program no longer closes after each operation).
- Improved format for key and data displays with leading zeros to prevent jittery movement.
- Progress bar graph implemented for file operations.
- Implemented file size error check for file too large.
- Implemented checking to prevent encrypting files already encrypted, or decrypting plain files.
- Added a further stage to the crypt algorithm for files with very little time overhead.

V1 (11/10/08):
- First released version with file encryption and user changeable private key.

Demo V1 (09/10/08):
- First Demo version capable of Irdeto key calculation demo only.


       ************************************************************************************************


