1 /***************************************************************************** 2 * csstables.h: CSS Tables for DVD unscrambling 3 ***************************************************************************** 4 * Copyright (C) 1999-2001 VideoLAN 5 * 6 * Author: Stéphane Borel <stef@via.ecp.fr> 7 * 8 * based on: 9 * - css-auth by Derek Fawcus <derek@spider.com> 10 * - DVD CSS ioctls example program by Andrew T. Veliath <andrewtv@usa.net> 11 * - The Divide and conquer attack by Frank A. Stevenson <frank@funcom.com> 12 * - DeCSSPlus by Ethan Hawke 13 * - DecVOB 14 * see http://www.lemuria.org/DeCSS/ by Tom Vogt for more information. 15 * 16 * libdvdcss is free software; you can redistribute it and/or modify 17 * it under the terms of the GNU General Public License as published by 18 * the Free Software Foundation; either version 2 of the License, or 19 * (at your option) any later version. 20 * 21 * libdvdcss is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 * GNU General Public License for more details. 25 * 26 * You should have received a copy of the GNU General Public License along 27 * with libdvdcss; if not, write to the Free Software Foundation, Inc., 28 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 29 *****************************************************************************/ 30 31 #ifndef DVDCSS_CSSTABLES_H 32 #define DVDCSS_CSSTABLES_H 33 34 #include <stdint.h> 35 36 static const uint8_t p_css_tab1[ 256 ] = 37 { 38 0x33, 0x73, 0x3b, 0x26, 0x63, 0x23, 0x6b, 0x76, 39 0x3e, 0x7e, 0x36, 0x2b, 0x6e, 0x2e, 0x66, 0x7b, 40 0xd3, 0x93, 0xdb, 0x06, 0x43, 0x03, 0x4b, 0x96, 41 0xde, 0x9e, 0xd6, 0x0b, 0x4e, 0x0e, 0x46, 0x9b, 42 0x57, 0x17, 0x5f, 0x82, 0xc7, 0x87, 0xcf, 0x12, 43 0x5a, 0x1a, 0x52, 0x8f, 0xca, 0x8a, 0xc2, 0x1f, 44 0xd9, 0x99, 0xd1, 0x00, 0x49, 0x09, 0x41, 0x90, 45 0xd8, 0x98, 0xd0, 0x01, 0x48, 0x08, 0x40, 0x91, 46 0x3d, 0x7d, 0x35, 0x24, 0x6d, 0x2d, 0x65, 0x74, 47 0x3c, 0x7c, 0x34, 0x25, 0x6c, 0x2c, 0x64, 0x75, 48 0xdd, 0x9d, 0xd5, 0x04, 0x4d, 0x0d, 0x45, 0x94, 49 0xdc, 0x9c, 0xd4, 0x05, 0x4c, 0x0c, 0x44, 0x95, 50 0x59, 0x19, 0x51, 0x80, 0xc9, 0x89, 0xc1, 0x10, 51 0x58, 0x18, 0x50, 0x81, 0xc8, 0x88, 0xc0, 0x11, 52 0xd7, 0x97, 0xdf, 0x02, 0x47, 0x07, 0x4f, 0x92, 53 0xda, 0x9a, 0xd2, 0x0f, 0x4a, 0x0a, 0x42, 0x9f, 54 0x53, 0x13, 0x5b, 0x86, 0xc3, 0x83, 0xcb, 0x16, 55 0x5e, 0x1e, 0x56, 0x8b, 0xce, 0x8e, 0xc6, 0x1b, 56 0xb3, 0xf3, 0xbb, 0xa6, 0xe3, 0xa3, 0xeb, 0xf6, 57 0xbe, 0xfe, 0xb6, 0xab, 0xee, 0xae, 0xe6, 0xfb, 58 0x37, 0x77, 0x3f, 0x22, 0x67, 0x27, 0x6f, 0x72, 59 0x3a, 0x7a, 0x32, 0x2f, 0x6a, 0x2a, 0x62, 0x7f, 60 0xb9, 0xf9, 0xb1, 0xa0, 0xe9, 0xa9, 0xe1, 0xf0, 61 0xb8, 0xf8, 0xb0, 0xa1, 0xe8, 0xa8, 0xe0, 0xf1, 62 0x5d, 0x1d, 0x55, 0x84, 0xcd, 0x8d, 0xc5, 0x14, 63 0x5c, 0x1c, 0x54, 0x85, 0xcc, 0x8c, 0xc4, 0x15, 64 0xbd, 0xfd, 0xb5, 0xa4, 0xed, 0xad, 0xe5, 0xf4, 65 0xbc, 0xfc, 0xb4, 0xa5, 0xec, 0xac, 0xe4, 0xf5, 66 0x39, 0x79, 0x31, 0x20, 0x69, 0x29, 0x61, 0x70, 67 0x38, 0x78, 0x30, 0x21, 0x68, 0x28, 0x60, 0x71, 68 0xb7, 0xf7, 0xbf, 0xa2, 0xe7, 0xa7, 0xef, 0xf2, 69 0xba, 0xfa, 0xb2, 0xaf, 0xea, 0xaa, 0xe2, 0xff 70 }; 71 72 static const uint8_t p_css_tab2[ 256 ] = 73 { 74 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 75 0x09, 0x08, 0x0b, 0x0a, 0x0d, 0x0c, 0x0f, 0x0e, 76 0x12, 0x13, 0x10, 0x11, 0x16, 0x17, 0x14, 0x15, 77 0x1b, 0x1a, 0x19, 0x18, 0x1f, 0x1e, 0x1d, 0x1c, 78 0x24, 0x25, 0x26, 0x27, 0x20, 0x21, 0x22, 0x23, 79 0x2d, 0x2c, 0x2f, 0x2e, 0x29, 0x28, 0x2b, 0x2a, 80 0x36, 0x37, 0x34, 0x35, 0x32, 0x33, 0x30, 0x31, 81 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 82 0x49, 0x48, 0x4b, 0x4a, 0x4d, 0x4c, 0x4f, 0x4e, 83 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 84 0x5b, 0x5a, 0x59, 0x58, 0x5f, 0x5e, 0x5d, 0x5c, 85 0x52, 0x53, 0x50, 0x51, 0x56, 0x57, 0x54, 0x55, 86 0x6d, 0x6c, 0x6f, 0x6e, 0x69, 0x68, 0x6b, 0x6a, 87 0x64, 0x65, 0x66, 0x67, 0x60, 0x61, 0x62, 0x63, 88 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 89 0x76, 0x77, 0x74, 0x75, 0x72, 0x73, 0x70, 0x71, 90 0x92, 0x93, 0x90, 0x91, 0x96, 0x97, 0x94, 0x95, 91 0x9b, 0x9a, 0x99, 0x98, 0x9f, 0x9e, 0x9d, 0x9c, 92 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 93 0x89, 0x88, 0x8b, 0x8a, 0x8d, 0x8c, 0x8f, 0x8e, 94 0xb6, 0xb7, 0xb4, 0xb5, 0xb2, 0xb3, 0xb0, 0xb1, 95 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8, 96 0xa4, 0xa5, 0xa6, 0xa7, 0xa0, 0xa1, 0xa2, 0xa3, 97 0xad, 0xac, 0xaf, 0xae, 0xa9, 0xa8, 0xab, 0xaa, 98 0xdb, 0xda, 0xd9, 0xd8, 0xdf, 0xde, 0xdd, 0xdc, 99 0xd2, 0xd3, 0xd0, 0xd1, 0xd6, 0xd7, 0xd4, 0xd5, 100 0xc9, 0xc8, 0xcb, 0xca, 0xcd, 0xcc, 0xcf, 0xce, 101 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 102 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 103 0xf6, 0xf7, 0xf4, 0xf5, 0xf2, 0xf3, 0xf0, 0xf1, 104 0xed, 0xec, 0xef, 0xee, 0xe9, 0xe8, 0xeb, 0xea, 105 0xe4, 0xe5, 0xe6, 0xe7, 0xe0, 0xe1, 0xe2, 0xe3 106 }; 107 108 static const uint8_t p_css_tab3[ 512 ] = 109 { 110 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 111 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 112 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 113 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 114 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 115 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 116 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 117 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 118 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 119 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 120 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 121 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 122 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 123 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 124 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 125 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 126 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 127 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 128 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 129 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 130 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 131 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 132 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 133 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 134 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 135 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 136 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 137 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 138 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 139 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 140 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 141 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 142 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 143 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 144 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 145 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 146 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 147 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 148 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 149 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 150 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 151 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 152 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 153 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 154 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 155 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 156 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 157 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 158 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 159 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 160 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 161 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 162 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 163 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 164 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 165 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 166 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 167 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 168 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 169 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 170 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 171 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 172 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff, 173 0x00, 0x24, 0x49, 0x6d, 0x92, 0xb6, 0xdb, 0xff 174 }; 175 176 static const uint8_t p_css_tab4[ 256 ] = 177 { 178 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 179 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, 180 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 181 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, 182 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 183 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, 184 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 185 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, 186 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 187 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, 188 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 189 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, 190 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 191 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, 192 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 193 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, 194 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 195 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, 196 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 197 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, 198 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 199 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, 200 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 201 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, 202 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 203 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, 204 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 205 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, 206 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 207 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, 208 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 209 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff 210 }; 211 212 static const uint8_t p_css_tab5[ 256 ] = 213 { 214 0xff, 0x7f, 0xbf, 0x3f, 0xdf, 0x5f, 0x9f, 0x1f, 215 0xef, 0x6f, 0xaf, 0x2f, 0xcf, 0x4f, 0x8f, 0x0f, 216 0xf7, 0x77, 0xb7, 0x37, 0xd7, 0x57, 0x97, 0x17, 217 0xe7, 0x67, 0xa7, 0x27, 0xc7, 0x47, 0x87, 0x07, 218 0xfb, 0x7b, 0xbb, 0x3b, 0xdb, 0x5b, 0x9b, 0x1b, 219 0xeb, 0x6b, 0xab, 0x2b, 0xcb, 0x4b, 0x8b, 0x0b, 220 0xf3, 0x73, 0xb3, 0x33, 0xd3, 0x53, 0x93, 0x13, 221 0xe3, 0x63, 0xa3, 0x23, 0xc3, 0x43, 0x83, 0x03, 222 0xfd, 0x7d, 0xbd, 0x3d, 0xdd, 0x5d, 0x9d, 0x1d, 223 0xed, 0x6d, 0xad, 0x2d, 0xcd, 0x4d, 0x8d, 0x0d, 224 0xf5, 0x75, 0xb5, 0x35, 0xd5, 0x55, 0x95, 0x15, 225 0xe5, 0x65, 0xa5, 0x25, 0xc5, 0x45, 0x85, 0x05, 226 0xf9, 0x79, 0xb9, 0x39, 0xd9, 0x59, 0x99, 0x19, 227 0xe9, 0x69, 0xa9, 0x29, 0xc9, 0x49, 0x89, 0x09, 228 0xf1, 0x71, 0xb1, 0x31, 0xd1, 0x51, 0x91, 0x11, 229 0xe1, 0x61, 0xa1, 0x21, 0xc1, 0x41, 0x81, 0x01, 230 0xfe, 0x7e, 0xbe, 0x3e, 0xde, 0x5e, 0x9e, 0x1e, 231 0xee, 0x6e, 0xae, 0x2e, 0xce, 0x4e, 0x8e, 0x0e, 232 0xf6, 0x76, 0xb6, 0x36, 0xd6, 0x56, 0x96, 0x16, 233 0xe6, 0x66, 0xa6, 0x26, 0xc6, 0x46, 0x86, 0x06, 234 0xfa, 0x7a, 0xba, 0x3a, 0xda, 0x5a, 0x9a, 0x1a, 235 0xea, 0x6a, 0xaa, 0x2a, 0xca, 0x4a, 0x8a, 0x0a, 236 0xf2, 0x72, 0xb2, 0x32, 0xd2, 0x52, 0x92, 0x12, 237 0xe2, 0x62, 0xa2, 0x22, 0xc2, 0x42, 0x82, 0x02, 238 0xfc, 0x7c, 0xbc, 0x3c, 0xdc, 0x5c, 0x9c, 0x1c, 239 0xec, 0x6c, 0xac, 0x2c, 0xcc, 0x4c, 0x8c, 0x0c, 240 0xf4, 0x74, 0xb4, 0x34, 0xd4, 0x54, 0x94, 0x14, 241 0xe4, 0x64, 0xa4, 0x24, 0xc4, 0x44, 0x84, 0x04, 242 0xf8, 0x78, 0xb8, 0x38, 0xd8, 0x58, 0x98, 0x18, 243 0xe8, 0x68, 0xa8, 0x28, 0xc8, 0x48, 0x88, 0x08, 244 0xf0, 0x70, 0xb0, 0x30, 0xd0, 0x50, 0x90, 0x10, 245 0xe0, 0x60, 0xa0, 0x20, 0xc0, 0x40, 0x80, 0x00 246 }; 247 248 static const uint8_t p_crypt_tab0[ 256 ] = 249 { 250 0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2, 251 0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF, 252 0xFB, 0x0E, 0x6D, 0x35, 0xF7, 0x5C, 0x76, 0x12, 253 0xCE, 0x25, 0x79, 0x29, 0x39, 0x62, 0x08, 0x24, 254 0xA5, 0x85, 0x7B, 0x56, 0x01, 0x23, 0x68, 0xCF, 255 0x0A, 0xE2, 0x5A, 0xED, 0x3D, 0x59, 0xB0, 0xA9, 256 0xB0, 0x2C, 0xF2, 0xB8, 0xEF, 0x32, 0xA9, 0x40, 257 0x80, 0x71, 0xAF, 0x1E, 0xDE, 0x8F, 0x58, 0x88, 258 0xB8, 0x3A, 0xD0, 0xFC, 0xC4, 0x1E, 0xB5, 0xA0, 259 0xBB, 0x3B, 0x0F, 0x01, 0x7E, 0x1F, 0x9F, 0xD9, 260 0xAA, 0xB8, 0x3D, 0x9D, 0x74, 0x1E, 0x25, 0xDB, 261 0x37, 0x56, 0x8F, 0x16, 0xBA, 0x49, 0x2B, 0xAC, 262 0xD0, 0xBD, 0x95, 0x20, 0xBE, 0x7A, 0x28, 0xD0, 263 0x51, 0x64, 0x63, 0x1C, 0x7F, 0x66, 0x10, 0xBB, 264 0xC4, 0x56, 0x1A, 0x04, 0x6E, 0x0A, 0xEC, 0x9C, 265 0xD6, 0xE8, 0x9A, 0x7A, 0xCF, 0x8C, 0xDB, 0xB1, 266 0xEF, 0x71, 0xDE, 0x31, 0xFF, 0x54, 0x3E, 0x5E, 267 0x07, 0x69, 0x96, 0xB0, 0xCF, 0xDD, 0x9E, 0x47, 268 0xC7, 0x96, 0x8F, 0xE4, 0x2B, 0x59, 0xC6, 0xEE, 269 0xB9, 0x86, 0x9A, 0x64, 0x84, 0x72, 0xE2, 0x5B, 270 0xA2, 0x96, 0x58, 0x99, 0x50, 0x03, 0xF5, 0x38, 271 0x4D, 0x02, 0x7D, 0xE7, 0x7D, 0x75, 0xA7, 0xB8, 272 0x67, 0x87, 0x84, 0x3F, 0x1D, 0x11, 0xE5, 0xFC, 273 0x1E, 0xD3, 0x83, 0x16, 0xA5, 0x29, 0xF6, 0xC7, 274 0x15, 0x61, 0x29, 0x1A, 0x43, 0x4F, 0x9B, 0xAF, 275 0xC5, 0x87, 0x34, 0x6C, 0x0F, 0x3B, 0xA8, 0x1D, 276 0x45, 0x58, 0x25, 0xDC, 0xA8, 0xA3, 0x3B, 0xD1, 277 0x79, 0x1B, 0x48, 0xF2, 0xE9, 0x93, 0x1F, 0xFC, 278 0xDB, 0x2A, 0x90, 0xA9, 0x8A, 0x3D, 0x39, 0x18, 279 0xA3, 0x8E, 0x58, 0x6C, 0xE0, 0x12, 0xBB, 0x25, 280 0xCD, 0x71, 0x22, 0xA2, 0x64, 0xC6, 0xE7, 0xFB, 281 0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C 282 }; 283 284 static const uint8_t p_crypt_tab1[ 256 ] = 285 { 286 0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56, 287 0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F, 288 0x08, 0x75, 0x97, 0x4B, 0x0E, 0x25, 0x8E, 0x6E, 289 0x39, 0x5A, 0x87, 0x53, 0xC4, 0x1F, 0xF4, 0x5C, 290 0x4E, 0xE6, 0x99, 0x30, 0xE0, 0x42, 0x88, 0xAB, 291 0xE5, 0x85, 0xBC, 0x8F, 0xD8, 0x3C, 0x54, 0xC9, 292 0x53, 0x47, 0x18, 0xD6, 0x06, 0x5B, 0x41, 0x2C, 293 0x67, 0x1E, 0x41, 0x74, 0x33, 0xE2, 0xB4, 0xE0, 294 0x23, 0x29, 0x42, 0xEA, 0x55, 0x0F, 0x25, 0xB4, 295 0x24, 0x2C, 0x99, 0x13, 0xEB, 0x0A, 0x0B, 0xC9, 296 0xF9, 0x63, 0x67, 0x43, 0x2D, 0xC7, 0x7D, 0x07, 297 0x60, 0x89, 0xD1, 0xCC, 0xE7, 0x94, 0x77, 0x74, 298 0x9B, 0x7E, 0xD7, 0xE6, 0xFF, 0xBB, 0x68, 0x14, 299 0x1E, 0xA3, 0x25, 0xDE, 0x3A, 0xA3, 0x54, 0x7B, 300 0x87, 0x9D, 0x50, 0xCA, 0x27, 0xC3, 0xA4, 0x50, 301 0x91, 0x27, 0xD4, 0xB0, 0x82, 0x41, 0x97, 0x79, 302 0x94, 0x82, 0xAC, 0xC7, 0x8E, 0xA5, 0x4E, 0xAA, 303 0x78, 0x9E, 0xE0, 0x42, 0xBA, 0x28, 0xEA, 0xB7, 304 0x74, 0xAD, 0x35, 0xDA, 0x92, 0x60, 0x7E, 0xD2, 305 0x0E, 0xB9, 0x24, 0x5E, 0x39, 0x4F, 0x5E, 0x63, 306 0x09, 0xB5, 0xFA, 0xBF, 0xF1, 0x22, 0x55, 0x1C, 307 0xE2, 0x25, 0xDB, 0xC5, 0xD8, 0x50, 0x03, 0x98, 308 0xC4, 0xAC, 0x2E, 0x11, 0xB4, 0x38, 0x4D, 0xD0, 309 0xB9, 0xFC, 0x2D, 0x3C, 0x08, 0x04, 0x5A, 0xEF, 310 0xCE, 0x32, 0xFB, 0x4C, 0x92, 0x1E, 0x4B, 0xFB, 311 0x1A, 0xD0, 0xE2, 0x3E, 0xDA, 0x6E, 0x7C, 0x4D, 312 0x56, 0xC3, 0x3F, 0x42, 0xB1, 0x3A, 0x23, 0x4D, 313 0x6E, 0x84, 0x56, 0x68, 0xF4, 0x0E, 0x03, 0x64, 314 0xD0, 0xA9, 0x92, 0x2F, 0x8B, 0xBC, 0x39, 0x9C, 315 0xAC, 0x09, 0x5E, 0xEE, 0xE5, 0x97, 0xBF, 0xA5, 316 0xCE, 0xFA, 0x28, 0x2C, 0x6D, 0x4F, 0xEF, 0x77, 317 0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4 318 }; 319 320 static const uint8_t p_crypt_tab2[ 256 ] = 321 { 322 0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66, 323 0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77, 324 0xE3, 0x97, 0x76, 0xAF, 0xE9, 0xC3, 0x6B, 0x8E, 325 0xDA, 0xB0, 0x6E, 0xBF, 0x2B, 0xF1, 0x19, 0xB4, 326 0x95, 0x34, 0x48, 0xE4, 0x37, 0x94, 0x5D, 0x7B, 327 0x36, 0x5F, 0x65, 0x53, 0x07, 0xE2, 0x89, 0x11, 328 0x98, 0x85, 0xD9, 0x12, 0xC1, 0x9D, 0x84, 0xEC, 329 0xA4, 0xD4, 0x88, 0xB8, 0xFC, 0x2C, 0x79, 0x28, 330 0xD8, 0xDB, 0xB3, 0x1E, 0xA2, 0xF9, 0xD0, 0x44, 331 0xD7, 0xD6, 0x60, 0xEF, 0x14, 0xF4, 0xF6, 0x31, 332 0xD2, 0x41, 0x46, 0x67, 0x0A, 0xE1, 0x58, 0x27, 333 0x43, 0xA3, 0xF8, 0xE0, 0xC8, 0xBA, 0x5A, 0x5C, 334 0x80, 0x6C, 0xC6, 0xF2, 0xE8, 0xAD, 0x7D, 0x04, 335 0x0D, 0xB9, 0x3C, 0xC2, 0x25, 0xBD, 0x49, 0x63, 336 0x8C, 0x9F, 0x51, 0xCE, 0x20, 0xC5, 0xA1, 0x50, 337 0x92, 0x2D, 0xDD, 0xBC, 0x8D, 0x4F, 0x9A, 0x71, 338 0x2F, 0x30, 0x1D, 0x73, 0x39, 0x13, 0xFB, 0x1A, 339 0xCB, 0x24, 0x59, 0xFE, 0x05, 0x96, 0x57, 0x0F, 340 0x1F, 0xCF, 0x54, 0xBE, 0xF5, 0x06, 0x1B, 0xB2, 341 0x6D, 0xD3, 0x4D, 0x32, 0x56, 0x21, 0x33, 0x0B, 342 0x52, 0xE7, 0xAB, 0xEB, 0xA6, 0x74, 0x00, 0x4C, 343 0xB1, 0x7F, 0x82, 0x99, 0x87, 0x0E, 0x5E, 0xC0, 344 0x8F, 0xEE, 0x6F, 0x55, 0xF3, 0x7E, 0x08, 0x90, 345 0xFA, 0xB6, 0x64, 0x70, 0x47, 0x4A, 0x17, 0xA7, 346 0xB5, 0x40, 0x8A, 0x38, 0xE5, 0x68, 0x3E, 0x8B, 347 0x69, 0xAA, 0x9B, 0x42, 0xA5, 0x10, 0x01, 0x35, 348 0xFD, 0x61, 0x9E, 0xE6, 0x16, 0x9C, 0x86, 0xED, 349 0xCD, 0x2E, 0xFF, 0xC4, 0x5B, 0xA0, 0xAE, 0xCC, 350 0x4B, 0x3B, 0x03, 0xBB, 0x1C, 0x2A, 0xAC, 0x0C, 351 0x3F, 0x93, 0xC7, 0x72, 0x7A, 0x09, 0x22, 0x3D, 352 0x45, 0x78, 0xA9, 0xA8, 0xEA, 0xC9, 0x6A, 0xF7, 353 0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C 354 }; 355 356 static const uint8_t p_crypt_tab3[ 288 ] = 357 { 358 0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58, 359 0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C, 360 0xA7, 0x33, 0xE2, 0x1B, 0xA7, 0x6D, 0xF5, 0x30, 361 0x97, 0x1D, 0xF3, 0x02, 0x60, 0x5A, 0x82, 0x0F, 362 0x91, 0xD0, 0x9C, 0x10, 0x39, 0x7A, 0x83, 0x85, 363 0x3B, 0xB2, 0xB8, 0xAE, 0x0C, 0x09, 0x52, 0xEA, 364 0x1C, 0xE1, 0x8D, 0x66, 0x4F, 0xF3, 0xDA, 0x92, 365 0x29, 0xB9, 0xD5, 0xC5, 0x77, 0x47, 0x22, 0x53, 366 0x14, 0xF7, 0xAF, 0x22, 0x64, 0xDF, 0xC6, 0x72, 367 0x12, 0xF3, 0x75, 0xDA, 0xD7, 0xD7, 0xE5, 0x02, 368 0x9E, 0xED, 0xDA, 0xDB, 0x4C, 0x47, 0xCE, 0x91, 369 0x06, 0x06, 0x6D, 0x55, 0x8B, 0x19, 0xC9, 0xEF, 370 0x8C, 0x80, 0x1A, 0x0E, 0xEE, 0x4B, 0xAB, 0xF2, 371 0x08, 0x5C, 0xE9, 0x37, 0x26, 0x5E, 0x9A, 0x90, 372 0x00, 0xF3, 0x0D, 0xB2, 0xA6, 0xA3, 0xF7, 0x26, 373 0x17, 0x48, 0x88, 0xC9, 0x0E, 0x2C, 0xC9, 0x02, 374 0xE7, 0x18, 0x05, 0x4B, 0xF3, 0x39, 0xE1, 0x20, 375 0x02, 0x0D, 0x40, 0xC7, 0xCA, 0xB9, 0x48, 0x30, 376 0x57, 0x67, 0xCC, 0x06, 0xBF, 0xAC, 0x81, 0x08, 377 0x24, 0x7A, 0xD4, 0x8B, 0x19, 0x8E, 0xAC, 0xB4, 378 0x5A, 0x0F, 0x73, 0x13, 0xAC, 0x9E, 0xDA, 0xB6, 379 0xB8, 0x96, 0x5B, 0x60, 0x88, 0xE1, 0x81, 0x3F, 380 0x07, 0x86, 0x37, 0x2D, 0x79, 0x14, 0x52, 0xEA, 381 0x73, 0xDF, 0x3D, 0x09, 0xC8, 0x25, 0x48, 0xD8, 382 0x75, 0x60, 0x9A, 0x08, 0x27, 0x4A, 0x2C, 0xB9, 383 0xA8, 0x8B, 0x8A, 0x73, 0x62, 0x37, 0x16, 0x02, 384 0xBD, 0xC1, 0x0E, 0x56, 0x54, 0x3E, 0x14, 0x5F, 385 0x8C, 0x8F, 0x6E, 0x75, 0x1C, 0x07, 0x39, 0x7B, 386 0x4B, 0xDB, 0xD3, 0x4B, 0x1E, 0xC8, 0x7E, 0xFE, 387 0x3E, 0x72, 0x16, 0x83, 0x7D, 0xEE, 0xF5, 0xCA, 388 0xC5, 0x18, 0xF9, 0xD8, 0x68, 0xAB, 0x38, 0x85, 389 0xA8, 0xF0, 0xA1, 0x73, 0x9F, 0x5D, 0x19, 0x0B, 390 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 391 0x33, 0x72, 0x39, 0x25, 0x67, 0x26, 0x6D, 0x71, 392 0x36, 0x77, 0x3C, 0x20, 0x62, 0x23, 0x68, 0x74, 393 0xC3, 0x82, 0xC9, 0x15, 0x57, 0x16, 0x5D, 0x81 394 }; 395 396 #endif /* DVDCSS_CSSTABLES_H */ 397