ICE: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(→‎Usage: added ekv)
 
(21 intermediate revisions by 14 users not shown)
Line 1: Line 1:
==What is ICE?==
'''ICE''' stands for Information Concealment Engine. It is a 64-bit private key block cipher, in the tradition of DES. However, unlike DES, it was designed to be secure against differential and linear cryptanalysis, and has no key complementation weaknesses or weak keys. In addition, its key size can be any multiple of 64 bits, whereas the DES key is limited to 56 bits.  
'''ICE''' stands for Information Concealment Engine. It is a 64-bit private key block cipher, in the tradition of DES. However, unlike DES, it was designed to be secure against differential and linear cryptanalysis, and has no key complementation weaknesses or weak keys. In addition, its key size can be any multiple of 64 bits, whereas the DES key is limited to 56 bits.  


Valve implemented '''ICE''' using only an 8 bit key (WEAK), because it is only meant as a means of tamper-proofing files like the weapon scripts.  You can '''ICE''' encrypt any file, as long as you have access to the code that loads it into the game.
Valve implemented '''ICE''' as a simple, and effective way of tamper-proofing a script file (using a 64-bit (8 bytes) key).  You can '''ICE''' encrypt any file, as long as you have access to the code that loads it into the game.


==See Also==
== Usage ==
* [[CTX]]
* [[.ctx]]
* [[Vice]]
* [[.ekv]]
[[Category:Programming]][[Category:Glossary]]
* [[.nuc]]
 
==Encryption keys==
{| class=standard-table
!width=200| Game !! Key
|-
| [[Half-Life 2: Deathmatch]]
|rowspan=2| x9Ke0BY7
|-
| Source code default
|-
| [[Counter-Strike: Source]] AND [[Counter-Strike: Global Offensive]] || d7NSuLq2
|-
| [[Day of Defeat: Source]] || Wl0u5B3F
|-
|rowspan=2| [[Team Fortress 2]] || E2NcUkG2
|-
| A5fSXbf7 (<code>items.ctx</code> only)
|-
| [[Left 4 Dead 2]] || SDhfi878
|-
| [[The Ship]] || eb3A4m79
|-
|rowspan=2| [[Contagion]] || fUk0fF69 (.ctx weapon scripts)
|-
| 5!rrFz6p (.nuc [[VScript]]s)
|-
| [[Zombie Panic! Source]] || 5R0ni0pZ
|-
| [[Bloody Good Time]] || K4PeJwL7 (<code>pm_advertising.ctx</code>)
|}
 
==See also==
* [[Vice]] - for instructions on encryption and decryption
* [[ICE Key Generator]]
 
[[Category:Programming]]
[[Category:Glossary]]

Latest revision as of 15:17, 27 January 2025

ICE stands for Information Concealment Engine. It is a 64-bit private key block cipher, in the tradition of DES. However, unlike DES, it was designed to be secure against differential and linear cryptanalysis, and has no key complementation weaknesses or weak keys. In addition, its key size can be any multiple of 64 bits, whereas the DES key is limited to 56 bits.

Valve implemented ICE as a simple, and effective way of tamper-proofing a script file (using a 64-bit (8 bytes) key). You can ICE encrypt any file, as long as you have access to the code that loads it into the game.

Usage

Encryption keys

Game Key
Half-Life 2: Deathmatch x9Ke0BY7
Source code default
Counter-Strike: Source AND Counter-Strike: Global Offensive d7NSuLq2
Day of Defeat: Source Wl0u5B3F
Team Fortress 2 E2NcUkG2
A5fSXbf7 (items.ctx only)
Left 4 Dead 2 SDhfi878
The Ship eb3A4m79
Contagion fUk0fF69 (.ctx weapon scripts)
5!rrFz6p (.nuc VScripts)
Zombie Panic! Source 5R0ni0pZ
Bloody Good Time K4PeJwL7 (pm_advertising.ctx)

See also