Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2016 03:31:50

Reijo13
Зарегистрирован: 2016-06-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

Программа для работы с фотографиями

Нужно сделать программы, которая бы по алгоритму перемещала пиксели и делала просто с фотографией полнейший хаус
Но чтобы была возможность потом это фото “расшифровать” и получалось опять нормальное фото

Нужны советы, что да как делать, я совсем не разбираюсь в этом и только начал изучать python

Офлайн

#2 Июнь 11, 2016 11:53:39

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

Reijo13
Нужны советы, что да как делать
Зашифровать данные любым криптоалгоритмом. Тут и питон не нужен. Берете и архивируете изображение любым архиватором с указанием пароля.



Офлайн

#3 Июнь 11, 2016 12:05:47

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

Reijo13
Нужны советы, что да как делать, я совсем не разбираюсь в этом и только начал изучать python
для начала изучи что такое списки, матрицы потом попробуй получить фотографию в виде списка или матрицы ну а затем придумай алгоритм как изменить последовательность в этой матрице по заданному алгоритму и по тому же алгоритму наоборот вернуть все на исходные места

Офлайн

#4 Июнь 11, 2016 16:16:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

doza_and
Берете и архивируете изображение любым архиватором с указанием пароля.
Да, а ещё лучше сразу программу для шифрования взять :) Ему нужно получить зашифрованное изображение в итоге.



Офлайн

#5 Июнь 11, 2016 16:34:01

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

doza_and
Зашифровать данные любым криптоалгоритмом. Тут и питон не нужен. Берете и архивируете изображение любым архиватором с указанием пароля.
Я так понял, что ТС хочет, чтобы итоговый файл оставался тем не менее читаемым изображением, с белым шумом, но картинкой. Просто так зазипвать файл, не получится.



Офлайн

#6 Июнь 11, 2016 19:08:34

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

FishHook
я тоже понял задачу именно так. В таком ракурсе она даже выглядит интересной что ли. Т.е. нужен алгоритм который может внести шум, и потом его ликвидировать.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Июнь 11, 2016 20:18:56

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

Всё равно подходит шифрование, но только для данных о пикселах. Формат изображения должен подразумевать хранение/сжатие без потерь.

Офлайн

#8 Июнь 11, 2016 23:56:27

Reijo13
Зарегистрирован: 2016-06-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

JOHN_16
FishHookя тоже понял задачу именно так. В таком ракурсе она даже выглядит интересной что ли. Т.е. нужен алгоритм который может внести шум, и потом его ликвидировать.
Да, именно так я и хочу, но только с png, ибо они не теряют качество вообще, но вот как это всё сделать без именно шифровки файла, как тут советуют?

Офлайн

#9 Июнь 12, 2016 08:26:37

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

Кроме криптографии есть еще Стеганография. https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F

Тоже интересная область. Можете например взять картинку в 16 раз большего размера и в ней младшие биты поменять на биты своего изображения. Получится другая картинка в которой незаметно зашифрована ваша картинка. Если примените нетривиальный способ перестановки, то получится весьма криптостойкий метод хранения данных.

Правда все эти программы уже существуют, надо просто найти и использовать. Берете фотошопный плагин для встраивания водяных знаков и не парите мозг.



Отредактировано doza_and (Июнь 12, 2016 08:29:20)

Офлайн

#10 Июнь 12, 2016 10:45:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Нужны совету по созданию программы

# -*-coding:utf-8-*-
import sys
from PIL import Image
import hashlib
def get_key():
    global secret
    global password
    if secret is None:
        secret = hashlib.sha256(password).hexdigest()
        return bytearray(secret)
    secret = hashlib.sha256(secret).hexdigest()
    return bytearray(secret)
def get_pix_matrix(image):
    px = image.load()
    m = []
    width, height = image.size
    for row in range(width-1):
        r = []
        for col in range(height-1):
            a = px[row, col]
            r.append(a)
        m.append(r)
    return m
def set_pix_matrix(image, matrix):
    px = image.load()
    for i, row in enumerate(matrix):
        for j, color in enumerate(row):
            px[i, j] = color
def secure(matrix):
    result = []
    for i, row in enumerate(matrix):
        result.append(xor(row))
    return result
def xor(text):
    result = []
    while text:
        key = get_key()
        head, tail = text[:len(key)], text[len(key):]
        result += [x ^ y for x, y in zip(head, key[:len(head)])]
        text = tail
    return result
if __name__ == "__main__":
    in_file = sys.argv[1]
    out_file = sys.argv[2]
    password = sys.argv[3]
    im = Image.open(in_file)
    secret = None
    
    matrix = get_pix_matrix(im)
    new_matrix = secure(matrix)
    set_pix_matrix(im, new_matrix)
    im.save(out_file)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version