Xiande Zhang

83 papers B 6Journal 77
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Inf. Theory
Fei Shi, Kaiyi Guo, Xiande Zhang, Qi Zhao
2026 J jnl
J. Comb. Theory, Ser. A
Xinqi Huang, Chong Shangguan, Xiande Zhang, Yuhao Zhao
2026 J jnl
Des. Codes Cryptogr.
Yanzhi Li, Wenjie Zhong, Tingting Chen, Xiande Zhang
2025 J jnl
IEEE Trans. Mob. Comput.
Yi Wu, Xiande Zhang, Tianhao Wu, Bing Zhou, Phuc Nguyen, Jian Liu
2025 J jnl
IEEE Trans. Inf. Theory
Fei Shi, Yu Ning, Qi Zhao, Xiande Zhang
2025 J jnl
IEEE Trans. Inf. Theory
Yuhao Zhao, Xiande Zhang
2025 J jnl
SIAM J. Discret. Math.
Xin Wei, Yuhao Zhao, Xiande Zhang, Gennian Ge
2025 J jnl
Des. Codes Cryptogr.
Xin Wei, Xiande Zhang, Gennian Ge
2025 J jnl
IEEE Trans. Inf. Theory
Yijun Zhang, Zixiang Xu, Xiande Zhang, Gennian Ge
2025 J jnl
CoRR
Gennian Ge, Zixiang Xu, Xiande Zhang, Yijun Zhang
2025 J jnl
J. Comb. Theory, Ser. A
Xin Wei, Xiande Zhang, Gennian Ge
2024 J jnl
Des. Codes Cryptogr.
Rongsheng Wu, Xiande Zhang
2024 J jnl
CoRR
Xinqi Huang, Chong Shangguan, Xiande Zhang, Yuhao Zhao
2024 J jnl
IEEE Trans. Inf. Theory
Yuhao Zhao, Xiande Zhang
2024 J jnl
CoRR
Yuhao Zhao, Xiande Zhang
2024 J jnl
CoRR
Yuhao Zhao, Xiande Zhang
2024 J jnl
Quantum
Yiyun He, Fei Shi, Xiande Zhang
2024 J jnl
IEEE Trans. Inf. Theory
Xin Wei, Xiande Zhang, Gennian Ge
2023 J jnl
CoRR
Zuo Ye, Xin Liu, Xiande Zhang, Gennian Ge
2023 J jnl
IEEE Trans. Inf. Theory
Zuo Ye, Xin Liu, Xiande Zhang, Gennian Ge
2022 J jnl
CoRR
Rongsheng Wu, Xiande Zhang
2022 J jnl
Eur. J. Comb.
Wenjun Yu, Xiangliang Kong, Yuanxiao Xi, Xiande Zhang, Gennian Ge
2022 J jnl
IEEE Trans. Inf. Theory
Tingting Chen, Xiande Zhang
2022 J jnl
Quantum
Fei Shi, Mao-Sheng Li, Mengyao Hu, Lin Chen, Man-Hong Yung, Yan-Ling Wang, Xiande Zhang
2022 J jnl
IEEE Trans. Inf. Theory
Fei Shi, Yi Shen, Lin Chen, Xiande Zhang
2021 J jnl
IEEE Trans. Inf. Theory
Yu Ning, Zuo Ye, Gennian Ge, Fuyou Miao, Yan Xiong, Xiande Zhang
2021 J jnl
Adv. Math. Commun.
Muhammad Ajmal, Xiande Zhang
2021 J jnl
IEEE Trans. Inf. Theory
Tingting Chen, Yiming Ma, Xiande Zhang
2021 J jnl
IEEE Trans. Inf. Theory
Wenjun Yu, Xiande Zhang, Gennian Ge
2021 J jnl
IEEE Trans. Inf. Theory
Xin Wei, Tingting Chen, Xiande Zhang
2020 J jnl
Quantum Inf. Process.
Fei Shi, Yi Shen, Lin Chen, Xiande Zhang
2020 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, San Ling, Tuan Thanh Nguyen, Van Khu Vu, Hengjia Wei, Xiande Zhang
2020 J jnl
Discret. Math.
Xin Wei, Xiande Zhang
2020 J jnl
CoRR
Tingting Chen, Yiming Ma, Xiande Zhang
2020 J jnl
IEEE Trans. Inf. Theory
Zuo Ye, Tao Zhang, Xiande Zhang, Gennian Ge
2020 J jnl
CoRR
Tingting Chen, Xiande Zhang
2020 J jnl
Eur. J. Comb.
Xiande Zhang
2019 J jnl
CoRR
Yeow Meng Chee, Hui Zhang, Xiande Zhang
2019 J jnl
Quantum Inf. Process.
Fei Shi, Xiande Zhang, Yu Guo
2019 J jnl
SIAM J. Discret. Math.
Yeow Meng Chee, Fei Gao, Han Mao Kiah, Alan Chi Hung Ling, Hui Zhang, Xiande Zhang
2019 J jnl
CoRR
Wenjun Yu, Xiande Zhang, Gennian Ge
2019 J jnl
CoRR
Yeow Meng Chee, Xiande Zhang
2019 J jnl
CoRR
Tingting Chen, Xiande Zhang
2019 J jnl
CoRR
Zuo Ye, Tao Zhang, Xiande Zhang, Gennian Ge
2018 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Xiande Zhang
2018 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Xiande Zhang
2017 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Han Mao Kiah, Hui Zhang, Xiande Zhang
2017 J jnl
IEEE Trans. Inf. Theory
Tao Zhang, Xiande Zhang, Gennian Ge
2016 J jnl
CoRR
Lingfei Jin, Chaoping Xing, Xiande Zhang
2016 B conf
ISIT
Yeow Meng Chee, Han Mao Kiah, San Ling, Tuan Thanh Nguyen, Van Khu Vu, Xiande Zhang
2015 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Hui Zhang, Xiande Zhang
2015 J jnl
Des. Codes Cryptogr.
Yeow Meng Chee, Gennian Ge, Hui Zhang, Xiande Zhang
2015 J jnl
CoRR
Yeow Meng Chee, Xiande Zhang
2015 J jnl
IEEE Trans. Inf. Theory
Lingfei Jin, Chaoping Xing, Xiande Zhang
2015 J jnl
Comb. Probab. Comput.
Yeow Meng Chee, Han Mao Kiah, Hui Zhang, Xiande Zhang
2015 J jnl
Des. Codes Cryptogr.
Yeow Meng Chee, Charles J. Colbourn, Alan Chi Hung Ling, Hui Zhang, Xiande Zhang
2015 B conf
ISIT
Yeow Meng Chee, Van Khu Vu, Xiande Zhang
2015 B conf
ISIT
Yeow Meng Chee, Yang Li, Xiande Zhang
2014 J jnl
CoRR
Yeow Meng Chee, Han Mao Kiah, Hui Zhang, Xiande Zhang
2014 B conf
ISIT
Yeow Meng Chee, Fei Gao, Han Mao Kiah, Alan Chi Hung Ling, Hui Zhang, Xiande Zhang
2014 J jnl
CoRR
Yeow Meng Chee, Zouha Cherif, Jean-Luc Danger, Sylvain Guilley, Han Mao Kiah, Jon-Lark Kim, Patrick Solé, Xiande Zhang
2014 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Zouha Cherif, Jean-Luc Danger, Sylvain Guilley, Han Mao Kiah, Jon-Lark Kim, Patrick Solé, Xiande Zhang
2013 J jnl
Des. Codes Cryptogr.
Xiande Zhang, Gennian Ge
2013 B conf
ISIT
Yeow Meng Chee, Hui Zhang, Xiande Zhang
2013 J jnl
Discret. Appl. Math.
Ian M. Wanless, Xiande Zhang
2013 B conf
ISIT
Yeow Meng Chee, Han Mao Kiah, Hui Zhang, Xiande Zhang
2013 J jnl
Eur. J. Comb.
Ian M. Wanless, Xiande Zhang
2012 J jnl
CoRR
Yeow Meng Chee, Xiande Zhang
2012 J jnl
IEEE Trans. Inf. Theory
Yeow Meng Chee, Xiande Zhang
2012 J jnl
CoRR
Ian M. Wanless, Xiande Zhang
2012 J jnl
IEEE Trans. Inf. Theory
Hui Zhang, Xiande Zhang, Gennian Ge
2012 J jnl
Des. Codes Cryptogr.
Xiande Zhang, Hui Zhang, Gennian Ge
2012 J jnl
Math. Comput.
Yeow Meng Chee, San Ling, Yin Tan, Xiande Zhang
2011 J jnl
Adv. Math. Commun.
Yeow Meng Chee, Xiande Zhang, Hui Zhang
2011 J jnl
SIAM J. Discret. Math.
Jean-Claude Bermond, Yeow Meng Chee, Nathann Cohen, Xiande Zhang
2010 J jnl
Discret. Appl. Math.
Xiande Zhang, Gennian Ge
2010 J jnl
Des. Codes Cryptogr.
Xiande Zhang, Gennian Ge
2010 J jnl
Des. Codes Cryptogr.
Xiande Zhang, Gennian Ge
2010 J jnl
CoRR
Yeow Meng Chee, Xiande Zhang, Hui Zhang
2010 J jnl
CoRR
Yeow Meng Chee, San Ling, Yin Tan, Xiande Zhang
2009 J jnl
SIAM J. Discret. Math.
Gennian Ge, Ying Miao, Xiande Zhang
2007 J jnl
Des. Codes Cryptogr.
Xiande Zhang, Gennian Ge
2007 J jnl
Discret. Math.
Xiande Zhang, Gennian Ge
redb/extractors/decompiler/bninja/similarity/minhashcustom.py
← Index redb/extractors/decompiler/bninja/similarity/minhashcustom.py python
import numpy as np
import mmh3

class MinHashCustom:
    """
    DTO for an actual MinHash
    <minhash>: a binary sequence of packed int8/32 values
    <minhash_int>: the equivalent representation of <minhash> but as list of int8/32
    """

    _HASH_MAX = 0xFFFFFFFF
    _MINHASH_BITS = 32

    def getSignatureEntrySize(self):
        return 1 if self.MINHASH_BITS <= 8 else 4

    def __init__(self, function_addr=None, minhash_bytes=None, minhash_signature=None, minhash_bits=32):
        self.minhash = b""
        self.minhash_int = []
        if minhash_bits:
            self._MINHASH_BITS = minhash_bits
        if minhash_bytes and minhash_signature:
            raise ValueError("Can use only one keyword argument")
        if minhash_bytes:
            if self._MINHASH_BITS <= 8:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint8)
            else:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint32)
            self.setMinHash(minhash_signature)
        elif minhash_signature:
            self.setMinHash(minhash_signature)

        self.shingler_composition = {}
        self.function_addr = function_addr

    def hasMinHash(self):
        return len(self.minhash) > 0

    def getMinHash(self):
        return self.minhash

    def getMinHashInt(self):
        return self.minhash_int

    def setMinHash(self, minhash_signature):
        self.minhash_int = [i % 2 ** self._MINHASH_BITS for i in minhash_signature]
        if self._MINHASH_BITS <= 8:
            self.minhash = np.array(self.minhash_int, dtype=np.uint8).tobytes()
        else:
            self.minhash = np.array(self.minhash_int, dtype=np.uint32).tobytes()

    def getComposition(self):
        return self.shingler_composition

    def scoreAgainst(self, other):
        return self.calculateMinHashScore(self.minhash, other.minhash, minhash_bits=self._MINHASH_BITS)

    @staticmethod
    def getHashMax():
        return MinHashCustom._HASH_MAX

    @staticmethod
    def hashData(data, seed) -> int:
        if isinstance(data, (str, bytes, bytearray)):
            return mmh3.hash(data, seed) & MinHashCustom._HASH_MAX
        elif isinstance(data, (list, tuple)):
            to_hash = "|".join(str(elem) for elem in data)
            return mmh3.hash(to_hash, seed) & MinHashCustom._HASH_MAX
        else:
            raise NotImplementedError(
                f"Type not supported for hashData: {type(data).__name__}"
            )

    @staticmethod
    def calculateMinHashScore(first, second, minhash_bits=32):
        if minhash_bits <= 8:
            first_np = np.frombuffer(first, dtype=np.uint8)
            second_np = np.frombuffer(second, dtype=np.uint8)
        else:
            first_np = np.frombuffer(first, dtype=np.uint32)
            second_np = np.frombuffer(second, dtype=np.uint32)
        return 100.0 * sum(first_np == second_np) / len(first_np)

    @staticmethod
    def calculateMinHashIntScore(first, second):
        score = 0
        num_hashes = len(first)
        if num_hashes:
            for index, part in enumerate(first):
                score += 1 if part == second[index] else 0
            return 100.0 * score / num_hashes
        return 0.0

    @property
    def MINHASH_BITS(self):
        return self._MINHASH_BITS