Перейти к содержанию

Файл:Tux ECB.png

Содержимое страницы недоступно на других языках.
Материал из Wikivoyage

Tux_ECB.png (202 × 239 пкс, размер файла: 44 КБ, MIME-тип: image/png)

Этот файл из на Викискладе и может использоваться в других проектах. Информация с его страницы описания приведена ниже.

Краткое описание

Описание
Русский: Изображение пингвина Tux, зашифрованное в режиме простой замены (Electronic CodeBook, ECB).
English: Image of Tux encrypted using the Electronic CodeBook method.
Español: Imagen de Tux cifrada por método ECB.
Дата
Источник Tux.svg
Автор Larry Ewing, Garrett LeSage (SVG version), Rumpelstilzchen 666 (encryption)
Другие версии File:The ECB Penguin.png, File:Tux ecb.jpg
Code for «encryption»
from PIL import Image
from itertools import product
from pandas import DataFrame
import random

block_size = 3
common_blocks_ecb = {tuple([(255, 255, 255)] * block_size): ((255,  80, 215), (150, 150, 150), ( 32, 223, 156)),
                     tuple([(253, 253, 251)] * block_size): ((169, 180, 238), (255, 142,  51), ( 35, 251, 102)),
                     tuple([(  2,   2,   4)] * block_size): (( 52,  44, 216), (125, 114,  71), ( 57,  12, 140))}

random.seed(42)
image = Image.open('Tux.png')
image_pixels = image.load()
pixels = [image_pixels[col, row] for row, col in product(range(image.size[1]), range(image.size[0]))]
pixels.extend([(255, 255, 255)] * ((block_size - len(pixels) % block_size) % block_size))

blocks = DataFrame([[pixels[block_count + pixel_count] for pixel_count in range(block_size)] for block_count in range(0, len(pixels), block_size)])
unique_blocks = blocks.drop_duplicates().reset_index(drop=True)
for block in unique_blocks.itertuples(index=False, name=None):
    block_ecb = common_blocks_ecb.get(block)
    if block_ecb is None:
        block_ecb = [(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) for _ in range(block_size)]
    blocks[(blocks == block).T.sum() == block_size] = [block_ecb]

for row, col in product(range(image.size[1]), range(image.size[0])):
    i = row * image.size[0] + col
    image_pixels[col, row] = blocks[i % block_size][i // block_size]
image.save('Tux_ECB.png')

Лицензирование

Larry Ewing
© Владелец авторских прав на этот файл разрешает всем использовать его в любых целях, при условии сохранения информации о владельце авторских прав. Разрешается распространение данного файла, создание производных произведений на его основе, а также коммерческое и любое другое использование.

Garrett LeSage
Creative Commons CC-Zero Этот файл доступен на условиях Creative Commons CC0 1.0 Универсальной передачи в общественное достояние (Universal Public Domain Dedication).
Лица, связанные с работой над этим произведением, решили передать данное произведение в общественное достояние, отказавшись от всех прав на произведение по всему миру в рамках закона об авторских правах (а также связанных и смежных прав), в той степени, которую допускает закон. Вы можете копировать, изменять, распространять, исполнять данное произведение в любых целях, в том числе в коммерческих, без получения на это разрешения автора.

Rumpelstilzchen 666
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.

Краткие подписи

Изображение пингвина Tux, зашифрованное в режиме простой замены

Элементы, изображённые на этом файле

изображённый объект

История файла

Нажмите на дату/время, чтобы увидеть версию файла от того времени.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий22:29, 17 ноября 2022Миниатюра для версии от 22:29, 17 ноября 2022202 × 239 (44 КБ)Rumpelstilzchen 666Uploaded a work by [http://www.isc.tamu.edu/~lewing/ Larry Ewing], [https://github.com/garrett/Tux Garrett LeSage] (SVG version), {{u|Rumpelstilzchen 666}} (encryption) from Tux.svg with UploadWizard

Нет страниц, использующих этот файл.

Глобальное использование файла

Данный файл используется в следующих вики: